MATLAB Answers

Error in a function

2 views (last 30 days)
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)

  0 Comments

Sign in to comment.

Accepted Answer

Morne' Breitenbach
Morne' Breitenbach on 11 Jun 2020
Have I named it correctly?

  5 Comments

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

Sign in to comment.

More Answers (2)

David Goodmanson
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)
% 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 Comment

Morne' Breitenbach
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.

Sign in to comment.


KSSV
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.

  4 Comments

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

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!

Translated by