Error in a function

3 次查看(过去 30 天)
Good day.
I have the following function and I can't seem to be able to fix the error. This is a function that was in a pdf file I'm learning from and it told me to put it into matlab to see how it works and I'm pretty sure it was not supposed to do what it has done. This is NOT for an assignment or any other important thing that requires my own working, just so your concense is eased. You might it suspiciouse that I state this but I have been asked this question before so I answered it ahead of time.
Here is the function so you can copy it into your own Matlab.
function A = circle_area(diameter)
% help comments
% This function calculates the area of a
% circle. [Output units] = [Input units]^2
% Area = circle_area(diameter)
r = diameter/2;
A = pi*r.^2;
A = circle_area(0.2)

采纳的回答

Morne' Breitenbach
Morne' Breitenbach 2020-6-11
Have I named it correctly?
  5 个评论
Morne' Breitenbach
Morne' Breitenbach 2020-6-11
I think I did. Does it not show up on your side? Because I did accept it on this side and I checked to see if I missed any un-accepted answers
KSSV
KSSV 2020-6-11
编辑:KSSV 2020-6-11
Actually, this is like your answer.....I was answering from my mobile due to network problem and didn't realize that you have made your comment at answer section.

请先登录,再进行评论。

更多回答(2 个)

David Goodmanson
David Goodmanson 2020-6-11
编辑:David Goodmanson 2020-6-11
Hi Morne'
Here Matlab assumed that the call to the function was part of the function itself. In a script, functions must be located below the main body of the code and each function must end with 'end'
A = circle_area(0.2)
function A = circle_area(diameter)
% help comments
% This function calculates the area of a
% circle. [Output units] = [Input units]^2
% Area = circle_area(diameter)
r = diameter/2;
A = pi*r.^2;
end
  1 个评论
Morne' Breitenbach
Morne' Breitenbach 2020-6-11
Thanks Mr Goodmanson, I treid this and it didn't work so I'll do what you suggested alond with what KSSV told me below.

请先登录,再进行评论。


KSSV
KSSV 2020-6-11
I suspect, you tried running the function using f5 button or run button from the editor. It is not the way to call the function. Copy this function in a folder and go to that folder, make it present working folder. And in the work space type this.
diameter = 5. ;
A = circle_area(diameter) ;
Now you will get the value of A.
  4 个评论
Morne' Breitenbach
Morne' Breitenbach 2020-6-11
So I made it my current working folder and I got this.
Sorry about how the image looks I can't seem to resize it.
KSSV
KSSV 2020-6-11
You have named your function different. Name of the function and file name should be same.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by