Effacer les filtres
Effacer les filtres

how to see previous results while tabulating?

1 vue (au cours des 30 derniers jours)
Otto
Otto le 8 Nov 2012
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!

Réponse acceptée

John Petersen
John Petersen le 8 Nov 2012
Modifié(e) : John Petersen le 8 Nov 2012
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.

Plus de réponses (0)

Catégories

En savoir plus sur Biotech and Pharmaceutical dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by