Getting two outputs when using function with implemented if statement
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Alexander Jørgensen
il 30 Dic 2020
Commentato: Paul Hoffrichter
il 30 Dic 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 Commenti
Risposta accettata
Paul Hoffrichter
il 30 Dic 2020
Modificato: Paul Hoffrichter
il 30 Dic 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 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!