Fixed point (matematice)

8 visualizaciones (últimos 30 días)
Cillian
Cillian el 7 de Mayo de 2012
Hello.
I have attempt to code a fixed point in MATLAB. But I don't know if this correct, but I think it works.
function sol=fixpunkt(g,x0,tol)
xnew=x0;
xold=x0+2*tol;
while norm(xold-xnew)>tol
xnew = xnew
xnew=g(x0) ;
end
sol=xnew;
When I tried fixpunkt(1,1,5) in the command window, MATLAB works 'busy' for a long long time, I guess it is the while loop doing that,
I would be happy if someone can give a opinion about this.
Regards Cillian

Respuesta aceptada

Richard Brown
Richard Brown el 7 de Mayo de 2012
xold never gets updated, so xnew gets set to the same value every iteration, and the loop never ends ...

Más respuestas (1)

Titus Edelhofer
Titus Edelhofer el 7 de Mayo de 2012
Hi,
and in addition to Richards observation: it's always not a bad idea to do something like
iter = 0;
maxIter = 50;
while norm(xold-xnew)>tol && iter<maxIter
% do fix point iteration here,
% then:
iter = iter + 1;
end

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by