- #1
megr_ftw
- 71
- 0
Fixed Point iteration using matlab, what's wrong with my code??
We are suppose to use MatLab to make a program using the fixed point iteration to find the root of an equation.
I just can't figure out what I'm doing wrong here...
I'm pretty sure a while loop is the appropriate measure to use, but how should I go about plugging in g(x) which is the modified form of the original equation..
%finds the approximate root using fixed point iteration
%input: inline function g(x)
%guess point x0
%max error (err_max)
%number of iterations (n)
%output: x is the approx. root
%k is the number of iterations carried out
function root= fixed_point(g,x0,n,err_max)
i=1;
x(1)=g(x0);
while i<=n
x(i+1)=g(x(i));
if abs((x(i+1)-x(i))/(x(i+1)) < err_max
disp('Converges after k iterations')
k=i;
disp('The root to the equation is')
x(i+1)
return
end
i=i+1;
end
Homework Statement
We are suppose to use MatLab to make a program using the fixed point iteration to find the root of an equation.
I just can't figure out what I'm doing wrong here...
I'm pretty sure a while loop is the appropriate measure to use, but how should I go about plugging in g(x) which is the modified form of the original equation..
Homework Equations
The Attempt at a Solution
%finds the approximate root using fixed point iteration
%input: inline function g(x)
%guess point x0
%max error (err_max)
%number of iterations (n)
%output: x is the approx. root
%k is the number of iterations carried out
function root= fixed_point(g,x0,n,err_max)
i=1;
x(1)=g(x0);
while i<=n
x(i+1)=g(x(i));
if abs((x(i+1)-x(i))/(x(i+1)) < err_max
disp('Converges after k iterations')
k=i;
disp('The root to the equation is')
x(i+1)
return
end
i=i+1;
end