Presenting this results in a tabulated form?
1 view (last 30 days)
Show older comments
Hi All,
I've written a code. Now, I want to tabulate this results using fprintf in a format that;
1'st column corresponds i(i.e. iteration number 1,2,3...), 2'st column corresponds xl, 3 column xu, 4'th f(xl), 5'th f(xu), 6'th xr, 7'th f(xr) and 8'th column corresponds ea. And also xl,xu,f(xl),f(xu) and f(xr) should have 7 digits after decimal point, xr must have 10 digits after decimal point. and finally ea must include 4 digits after decimal point.
Here is the code;
f=@(x)x^10-1
xl=0
xu=1.3
xr = xu;
es=0.01
fl=f(xl)
fu=f(xu)
iter=0;
iu = 0; il = 0;
while (1)
xrold = xr;
xr = xu - fu*(xl-xu)/(fl-fu);
fr = f(xr);
iter=iter+1;
if xr<0
elseif xr>0
ea=abs((xr-xrold)/xr)*100
end
test = fl*fr
if test<0
xu = xr
fu = f(xu)
iu = 0
il = il+1
if il>=2
fl=fl/2
end
elseif test>0
xl=xr
fl=f(xl)
il=0
iu=iu+1
if iu>=2
fu=fu/2
end
else
ea=0
end
if ea<es
break
end
end
ModFalsePos=xr
I've tried something but find out that some of the variables include only the last value of calculations. for example xl,xr, iter, but i want to present them in a listed form.
I'll appreciate for any help.
Thanks already for your interest!
0 Comments
Accepted Answer
Matt Fig
on 5 Nov 2012
Edited: Matt Fig
on 5 Nov 2012
Holy lack of semi-colons! Try this:
home
f=@(x)x^10-1;
xl=0;
xu=1.3;
xr = xu;
es=0.01;
fl=f(xl);
fu=f(xu);
iter=0;
iu = 0;
il = 0;
fprintf('\n\n%10s%10s%10s%10s%10s%10s%10s%10s\n',...
'iter','xl','xu','f(xl)','f(xu)','xr','f(xr)','ea')
fprintf([' ',repmat('-',1,74),'\n'])
while 1
xrold = xr;
xr = xu - fu*(xl-xu)/(fl-fu);
fr = f(xr);
iter=iter+1;
if xr<0
elseif xr>0
ea=abs((xr-xrold)/xr)*100;
end
test = fl*fr;
if test<0
xu = xr;
fu = f(xu);
iu = 0;
il = il+1;
if il>=2
fl=fl/2;
end
elseif test>0
xl=xr;
fl=f(xl);
il=0;
iu=iu+1;
if iu>=2
fu=fu/2;
end
else
ea=0;
end
if ea<es
break
end
fprintf('%10.2i%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f\n',...
iter,xl,xu,f(xl),f(xu),xr,f(xr),ea)
end
fprintf('\n\n')
ModFalsePos=xr;
More Answers (1)
See Also
Categories
Find more on Write Unit Tests 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!