simple Fixed Point Iteration
6 views (last 30 days)
Show older comments
clear all;
clc;
x(1)=0;
g=@(x) exp(-x);
f=@(x) exp(-x)-x;
true_root=0.56714329;
disp('----------------------------------------------------');
disp('i xi Ea(%) Et(%) ');
disp('----------------------------------------------------');
for i=1:10
x(i+1)=g(x(i));
end
if x~=0
ea=100*abs(x(i+1)-g(x(i))/x(i+1));
end
e_t=100*abs(x-true_root)/true_root;
res=[[0:10]' x' ea' e_t'];
fprintf('%d %1.6f %3.3f %3.3f\n', res');
i want to add the ea. but i can. how can i this??
0 Comments
Accepted Answer
Alan Stevens
on 7 Nov 2021
Probably more like this (though you don't seem to have used function f anywhere):
n = 11;
x = zeros(1,numel(n));
ea = zeros(1,numel(n));
g=@(x) exp(-x);
f=@(x) exp(-x)-x;
true_root=0.56714329;
disp('----------------------------------------');
disp('i xi Ea(%) Et(%) ');
disp('----------------------------------------');
for i=1:n-1
x(i+1)=g(x(i));
if x(i+1)~= 0
ea(i+1) = 100*abs(x(i+1)-x(i))/x(i+1);
end
end
e_t = 100*abs(x-true_root)/true_root;
res=[(0:n-1)' x' ea' e_t'];
fprintf('%d %10.6f %10.3f %10.3f\n', res');
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps 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!