Inner matrix must agree

2 vues (au cours des 30 derniers jours)
Alejandro Urbina
Alejandro Urbina le 23 Fév 2016
Commenté : Moe_2015 le 23 Fév 2016
So im trying to run the following code...
A1=4; A2=-2; B1=3; B2=1; tau1=100*10^-3; tau2=20*10^-3; w=40*pi; x = linspace(0,2*pi,100); y1 = (A1*exp(-x/tau1))+(A2*exp(-x/tau2)); y2 = (A1*exp(-x/tau1))+(A2*(x/tau1)*exp(-x/tau1)); y3 = (exp(-x/tau1)*(B1*cos(w*x)+B2*sin(w*x))); figure plot(x,y1,'--',x,y2,':',x,y3,'r')
I get the following error:
Error using * Inner matrix dimensions must agree.
Error in Urbina_ps1 (line 10) y2 = (A1*exp(-x/tau1))+(A2*(x/tau1)*exp(-x/tau1));
I dont know how to solve the matrix problem that is happening in the sencond termn of the equation... Im new to matlab and i have been looking for tutorials to trying to solve this...
Ill appreciate any help thank you

Réponses (1)

Moe_2015
Moe_2015 le 23 Fév 2016
Modifié(e) : Moe_2015 le 23 Fév 2016
It's because of the x variable. Your x variable is a row vector of a 100 elements. When you use "*" by itself it is doing matrix multiplication. Thus, throughout your code you are trying to multiply a 1X100 vector with another 1X100 vector which is not possible. You should replace all "*" with ".*" as this will allow you to do element wise multiplication.
  2 commentaires
Alejandro Urbina
Alejandro Urbina le 23 Fév 2016
thank you Moe_2015!!!
Moe_2015
Moe_2015 le 23 Fév 2016
You are welcome. If this helped you with your problem please accept the answer for the benefit of others.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by