w1=104; s=0.3; u=1;
>> w2=w1*(1-(s^2))^(1/2)
w2 =
99.2097
>> y=(s)/(1-(s^2))
y =
0.3297
>> t=linspace(0,0.2,100);
>> x=u*(1-exp(-s*w1*t)*(cos(w2*t)-y*sin(w2*t)));
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the
number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
This is the equation I am trying to input:
x(t)=u[1-e^(-sw1t)*(cos(w2t)-ysin(w2t))]
What is the correct equation for x?

 Akzeptierte Antwort

Ollie A
Ollie A am 30 Jan. 2019

0 Stimmen

You have a variable t in your equation which is a vector. In order to multiply vectors in MATLAB you must use the syntax .*. In your case, the equation should be:
x=u*(1-exp(-s*w1*t).*(cos(w2*t)-y*sin(w2*t)));
I believe that should fix it.

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 30 Jan. 2019

0 Stimmen

x=u*(1-exp(-s*w1*t).*(cos(w2*t)-y*sin(w2*t)));
Jim Riggs
Jim Riggs am 30 Jan. 2019
Bearbeitet: Jim Riggs am 30 Jan. 2019

0 Stimmen

Variable t is a vector. If you want to perform element-wise multiplication on t, use .* in stead of *
try
x=u.*(1-exp(-s.*w1.*t).*(cos(w2.*t)-y.*sin(w2.*t)));

Kategorien

Mehr zu Mathematics and Optimization finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by