Getting two outputs when using function with implemented if statement
1 view (last 30 days)
Show older comments
Alexander Jørgensen
on 30 Dec 2020
Commented: Paul Hoffrichter
on 30 Dec 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 Comments
Accepted Answer
Paul Hoffrichter
on 30 Dec 2020
Edited: Paul Hoffrichter
on 30 Dec 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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!