Fixed point (matematice)
8 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Richard Brown
on 7 May 2012
xold never gets updated, so xnew gets set to the same value every iteration, and the loop never ends ...
0 Comments
More Answers (1)
Titus Edelhofer
on 7 May 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
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!