how to see previous results while tabulating?
1 次查看(过去 30 天)
显示 更早的评论
Hi All,
I've written a code using Newton-Raphson algorythm but i have problems with tabulating. I want to tabulate my results in a form which first column corresponds "it_no"(iteration number),second column corresponds "x", third column corresponds "f(x)". But I'm only getting the last results of iteration, i.e it_no 9;
Here is the code
f=@(x)x^5-x^4+(2*x^3)-(3*x^2)+x-4
dfdx=@(x)(5*x^4)-(4*x^3)+(6*x^2)-(6*x)+1
x0=5
x=x0
it_no=0
while 1
f(x)
it_no=it_no+1
xprev=x
x=xprev-(f(x)./dfdx(x))
if f(x)<10^-4
break
end
end
fprintf('\n\n%18s%18s%18s\n','it_no','x','f(x)')
fprintf(' %17.0f\t %17.7f\t %17.7f\t\n',[it_no,x,f(x)])
I want to see all results from first iteration to last iteration. Anyway to see previous results in my table?
I'll appreciate for any help
Thanks Already!
0 个评论
采纳的回答
John Petersen
2012-11-8
编辑:John Petersen
2012-11-8
Change where you put your print statements to see running total.
fprintf('\n\n%18s%18s%18s\n','it_no','x','f(x)');
while 1
it_no=it_no+1;
xprev=x;
x=xprev-(f(x)./dfdx(x));
if f(x)<10^-4;
break
end
fprintf(' %17.0f\t %17.7f\t %17.7f\t\n',[it_no,x,f(x)]);
end
For faster code, you could vectorize it, but it would print after the loop not while running in the loop.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!