Why do I get an error?
Mostrar comentarios más antiguos
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 comentarios
David Fletcher
el 10 de Mzo. de 2018
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
el 10 de Mzo. de 2018
Respuesta aceptada
Más respuestas (1)
Eyad Alharbi
el 10 de Mzo. de 2018
Editada: Eyad Alharbi
el 10 de Mzo. de 2018
0 votos
Categorías
Más información sobre Condensed Matter & Materials Physics en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!