Matlab erreur (novice)

Résolu
cottingf Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
cottingf Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
cottingf Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
cottingf Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Superbe merci bien!
0