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개)
Eyad Alharbi
2018년 3월 10일
편집: Eyad Alharbi
2018년 3월 10일
0 개 추천
카테고리
도움말 센터 및 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!