how to see previous results while tabulating?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
John Petersen
el 8 de Nov. de 2012
Editada: John Petersen
el 8 de Nov. de 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.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!