Error using mtimes
1 view (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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.
More Answers (1)
See Also
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!