Matlab erreur (novice)

Résolu
cottingf Messages postés 4 Statut Membre -  
cottingf Messages postés 4 Statut Membre -
Bonjour,

J'aurai une petite question Matlab certainement très simple (étant novice avec ce programme):
Pour quelle raison quand je fais ces commandes ci-dessous une erreur apparait?

>> t=0:2*pi/20:2*pi;
>> kx=cos(t)*(1+cos(t));

??? Error using ==> mtimes
Inner matrix dimensions must agree.

Comment devrais-je écrire pour que cela fonctionne?

Merci beaucoup pour votre aide!!!

Flo

1 réponse

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    sous matlab, "*" est le produit matricielle. Il te dit :
    Inner matrix dimensions must agree.
    ce qui est clair, tes deux matrices ont des dimensions qui ne permettent pas ce produit.
    La multiplication terme à terme s'écrit ".*"
    0
    1. cottingf Messages postés 4 Statut Membre
       
      Merci!

      Vous sauriez également comment écrire sa en une seul instruction? A la place d'écrire tout ces y?

      x=0:pi/100:2*pi;

      y1=sin(x);
      y2=sin(2*x);
      y2=sin(2*x);
      y3=sin(3*x);
      y4=sin(4*x);
      y5=sin(5*x);
      y6=sin(6*x);
      plot(x,y1,x,y2,x,y3,x,y4,x,y5,x,y6)

      Merci bonne journée

      Flo

      Flo
      0
    2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      coef=[1:6];
      y=sin(coef'*x);
      je crois. Il faut utiliser le produit matricielle entre deux vecteurs (et non le produit scalaire) pour fabriquer une matrice., chaque ligne correspondra à un yi.
      0
    3. cottingf Messages postés 4 Statut Membre
       
      Superbe merci bien!
      0