# Error in a function

2 views (last 30 days)
Morne' Breitenbach on 11 Jun 2020
Edited: KSSV on 11 Jun 2020
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)
% 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 on 11 Jun 2020
Have I named it correctly?

Show 2 older comments
KSSV on 11 Jun 2020
Dude ....you have to accept my answer.....
Morne' Breitenbach on 11 Jun 2020
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 on 11 Jun 2020
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.

### More Answers (2)

David Goodmanson on 11 Jun 2020
Edited: David Goodmanson on 11 Jun 2020
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)
% 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 Comment

Morne' Breitenbach on 11 Jun 2020
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 on 11 Jun 2020
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.

Show 1 older comment
KSSV on 11 Jun 2020
Yes...command window...:)
Morne' Breitenbach on 11 Jun 2020
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 on 11 Jun 2020
You have named your function different. Name of the function and file name should be same.