Why do I get an error?
显示 更早的评论
Hi I was writing a script for a program that ask the user to enter the material of an object and the surface's material to use the friction consent to find the force, and here is my script :
object=input('Enter the matiral of the object : ','s');
surface=input('Enter the matiral of the surface : ','s');
W=input('Enter weight : ');
U=[0.2 0.4 0; 0 0.35 0 ; 0 0 0.7];
%calculation_section
if object=='metal'
OB=1;
elseif object=='wood'
OB=2;
elseif object =='rubber'
OB=3;
elseif surface=='metal'
S=1;
elseif surface=='wood'
S=2;
elseif surface=='concrete'
S=3;
end
F=U(OB,S);
%output_section
disp(['The force is :',num2str(F)]);
The error i receive comes from different lines sometimes from this line OB=1; and sometimes from this line F=U(OB,S) each time I hit run it gives me a different error massage. I am stuck in this error for two days, I searched a lot but I couldn't fix it.I hope if you guys can help me.
2 个评论
David Fletcher
2018-3-10
you should note that object=='metal' will not return a logical scaler: instead it returns a 1x5 logical vector correspnding to a match (or not) in each of the character positions. If the things you are testing are of a different lengths then you will get an error. Use a string comparison function instead
Geoff Hayes
2018-3-10
采纳的回答
更多回答(1 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Condensed Matter & Materials Physics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!