Inner matrix dimensions must agree

1 view (last 30 days)
Ben Newton
Ben Newton on 28 Oct 2019
Commented: Rena Berman on 12 Dec 2019
%ben newton swansea university 956205
k = 997.584; %stiffness, units = N/m
m = 10.692; %mass, units = kg
xo = 0.026844; %initial displacement, units = m
vo = 0:0.001:5; %initial velocity, units = m/s
t = 0.735; %time, units = s
x = 0.0852; %dispacement, units = m
c = 36.84; %damping coefficient, units = kg/s
wn = sqrt(k/m); %natural frequency, units = rad/s
ccrit = 2*sqrt(k*m); %critical damping coefficient, units = kg/s
zeta = c/ccrit; %damping ratio, no units
wd = wn*sqrt(1 - zeta^2); %damped natural frequency, units = rad/s
A = sqrt((vo+zeta*wn*xo).^2 + (xo*wd)^2/wd^2);
phi = atan((xo*wd)./vo+zeta*wn*xo); %phase angle, units = radians
x@time = A.*exp(-zeta.*wn.*t)*sin((wd.*t)+phi);
%everythings fine up until the last line, gives the error using * inner matrix dimensions must agree
all matrices used are the same shape an size etc and .* has been used
but i still get the error message
please help
  3 Comments
Rena Berman
Rena Berman on 12 Dec 2019
(Answers Dev) Restored edit

Sign in to comment.

Answers (1)

Katie
Katie on 28 Oct 2019
You're missing a dot in front of the * in front of the sin
x_time = A.*exp(-zeta.*wn.*t).*sin((wd.*t)+phi);

Community Treasure Hunt

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

Start Hunting!

Translated by