Error using mtimes

1 view (last 30 days)
Nourriee BB
Nourriee BB on 9 Oct 2011
This is the script I am currently processing through MATLAB however it keeps returning me an error that says : ??? Error using ==> mtimes Inner matrix dimensions must agree.
Error in ==> Complexmodel at 12 T1=((elevator_mass+load_mass1)*g+X)*a;
My script:
g=9.81;
elevator_mass=1000;
load_mass1=1500;
load_mass2=2000;
load_mass3=2500;
safe_load=4500;
u=0.6:1:1.6;
a=0:1:10;
safty(1:11)=safe_load;
X=3.*u.^2;
xlabel_information='Elevator acceleration';
T1=((elevator_mass+load_mass1)*g+X)*a;
T2=((elevator_mass+load_mass2)*g+X)*a;
T3=((elevator_mass+load_mass3)*g+X)*a;
plot(a,T1,'b-o',a,T2,'g-o',a,T3,'k-o',a,safty,'.');
xlabel(xlabel_information)
ylabel('Cable Tension')
title('Tension vs Acceleration');
legend('load mass 1','load mass 2','load mass 3','Safe load');
[EDITED, JSimon, 09-Oct-2011 16:19 UTC] Code formatted - please do this by your own, see Markup help

Accepted Answer

Jan
Jan on 9 Oct 2011
You could use the debugger to locate the problem:
dbstop if error
Now MATLAB stops, if the error occurs and you can inspect the dimensions:
In: T1=((elevator_mass+load_mass1)*g+X)*a;
((elevator_mass+load_mass1)*g+X => [1 x 2]
a => [1 x 11]
Of course the multiplication is not possible.
  4 Comments
Nourriee BB
Nourriee BB on 10 Oct 2011
if i were to do a matrix multiplication. What would I need to change in my script to make it possible?
Walter Roberson
Walter Roberson on 10 Oct 2011
if you have two vectors, A and B, each 1 x 11, then you can either do
A * B'
to get a 1 x 1 result,
or you can do
A' * B
to get an 11 x 1 result.

Sign in to comment.

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 9 Oct 2011
u=0.6:.1:1.6

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!