How do I save the error data for each iteration?
Show older comments
Hello,
I have a bisection function code that doesn't quite do what I want it to do. I want it to output the error data for each iteration. Right now, it's only giving me the final error value. I know I'm supposed to do err = [] or something like that but I haven't been able to implement it correctly. Could I please get some assistance? Thank you
function [x_i,err,yi] = bisect(f,x_l,x_r,delta)
yl = feval(f,x_l);
yr = feval(f,x_r);
err = [];
if yl*yr > 0
disp('error'),0;
else
max1 = 1+round((log(x_r-x_l)-log(delta))/log(2));
for k = 1:max1
x_i = (x_l+x_r)/2;
yi = feval(f,x_i);
if yi == 0
x_l = x_i;
x_r = x_i;
elseif yr*yi > 0
x_r = x_i;
yr = yi;
else
x_l = x_i;
yl = yi;
end
if x_r-x_l < delta, break,end
end
end
x_i = (x_l+x_r)/2;
err = abs(x_r-x_l);
yi = feval(f,x_i);
Accepted Answer
More Answers (0)
Categories
Find more on Get Started with MATLAB 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!