Info

This question is closed. Reopen it to edit or answer.

Error: Function definitions are not permitted in this context. ???

1 view (last 30 days)
I have read up on this problem but I cannot seem to figure out why it doesn't work. My code is:
function[y]=fifthroot(P)
x = P; xNew = 0; E = 1;
while(E > 0.00001)
xNew = x - ((x^5)-P)/(x^4);
E = abs((xNew-x)/(x));
x = xNew;
end
y = xNew;
end

Answers (2)

Matt Fig
Matt Fig on 18 Oct 2012
Where did you put that code? You cannot define a function at the command line or in a script M-file.

Image Analyst
Image Analyst on 19 Oct 2012
My guess is that you have some code before the function statement, like a clc or some text code to call fifthroot() or something like that. That would make it a script followed by a function, which is not allowed. Make sure the function is the first line in the m-file, and your test code is in a separate m-file or issued from the command line and then it should work.

This question is closed.

Community Treasure Hunt

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

Start Hunting!