Suppressing Functions Without Removing Output

1 次查看(过去 30 天)
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.

采纳的回答

Stephan
Stephan 2020-11-12
% 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 个评论
Stephen23
Stephen23 2020-11-12
编辑:Stephen23 2020-11-12
"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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by