Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

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

1 vue (au cours des 30 derniers jours)
William Gill
William Gill le 18 Oct 2012
Clôturé : MATLAB Answer Bot le 20 Août 2021
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

Réponses (2)

Matt Fig
Matt Fig le 18 Oct 2012
Where did you put that code? You cannot define a function at the command line or in a script M-file.
  1 commentaire
Walter Roberson
Walter Roberson le 19 Oct 2012
That code would have to be stored to a file named fifthroot.m

Image Analyst
Image Analyst le 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.

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by