Matlab erreur (novice)

Résolu/Fermé
cottingf Messages postés 4 Date d'inscription dimanche 21 novembre 2010 Statut Membre Dernière intervention 5 octobre 2012 - 21 nov. 2010 à 19:50
cottingf Messages postés 4 Date d'inscription dimanche 21 novembre 2010 Statut Membre Dernière intervention 5 octobre 2012 - 22 nov. 2010 à 13:35
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 nov. 2010 à 09:46
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 dimanche 21 novembre 2010 Statut Membre Dernière intervention 5 octobre 2012
22 nov. 2010 à 11:58
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 nov. 2010 à 12:34
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 dimanche 21 novembre 2010 Statut Membre Dernière intervention 5 octobre 2012
22 nov. 2010 à 13:35
Superbe merci bien!
0