Suppressing Functions Without Removing Output

1 view (last 30 days)
Hello,
I am new to matlab and I have been having this problem:
-Say for example I have this function,
function [circle_area] = calcarea(r)
%calculates the area of a circle given radius length
circle_area = pi.*(r.^2)
end
- This displays out the output circle_area and also the "ans"
- I want to suppress the "ans: but without removing the output [cicle_area]
- If I delte [circle_area] I am affecting all my scripts where I use this function
- Example Script affected by deleting output:-
% This script calculates the area of a circle
% It prompts the user for the radius
radius = input('Please enter the radius: ');
% It then calls our function to calculate the
% area and then prints the result
area = calcarea(radius);
disp('The area is ');
disp(area);
- This displays an error too many outputs which I concluded came from the missing output when I delete [circle_area]
Can someone help me with this, it would be much appreciated.

Accepted Answer

Stephan
Stephan on 12 Nov 2020
% This script calculates the area of a circle
% It prompts the user for the radius
radius = input('Please enter the radius: ');
% It then calls our function to calculate the
% area and then prints the result
area = calcarea(radius);
fprintf('The area is: %f\n',area);
function circle_area = calcarea(r)
%calculates the area of a circle given radius length
circle_area = pi.*(r.^2);
end
  3 Comments
Stephen23
Stephen23 on 12 Nov 2020
Edited: Stephen23 on 12 Nov 2020
"The thing is, this way round the function outputs ans = 12.566 for example instead of circle_area = 12.566"
Nope. This answer does what you asked for, no ans anywhere to be seen. Note that the name of the output variable circle_area used inside the function is totally irrelevant when you call the function.
% This script calculates the area of a circle
radius = 2;
area = calcarea(radius);
fprintf('The area is: %f\n',area);
The area is: 12.566371
function circle_area = calcarea(r)
%calculates the area of a circle given radius length
circle_area = pi.*(r.^2);
end
The only way you would get ans is if you did not use the code given in that answer, e.g. by calling the function without allocating its output to a variable and without suppressing its output with a semi-colon.

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!