Getting two outputs when using function with implemented if statement
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Alexander Jørgensen
el 30 de Dic. de 2020
Comentada: Paul Hoffrichter
el 30 de Dic. de 2020
Hey, I'm all new to MatLab and would like to know why I'm getting two outputs when using the following code:
function theta = acuteAngle(v1,v2)
theta = acos((dot(v1,v2)));
if theta > pi/2
disp(pi-theta);
else
disp(theta);
end
end
Result i get with following input:
Input:
disp(acuteAngle([-4/5, 3/5], [20/29, 21/29]))
Output: (i only want the first result : 1.4533)
1.4533
1.6883
0 comentarios
Respuesta aceptada
Paul Hoffrichter
el 30 de Dic. de 2020
Editada: Paul Hoffrichter
el 30 de Dic. de 2020
In your acuteAngle function, there is a disp() line which gives you the first output. The calling routine disp(acuteAngle() gives you the second output.
To get only the first output, call the function like this:
acuteAngle([-4/5, 3/5], [20/29, 21/29]); % the semi-colon suppresses the output
2 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!