Create Newton divided difference table using one looping

Hi, I was asked to compute the Newton divided difference table using at most one looping. My teacher didn't say if more loops within a single loop are allowable. So is it possible to do that? Actually I have no problem writing the code using nested loop:
for j=2:n
for k=j:n
D(k,j)=(D(k,j-1)-D(k-1,j-1))/(x(k)-x(k-j+1));
end
end
Any help is much appreciated, thanks!

Respuestas (2)

Jan
Jan el 27 de Feb. de 2013
Editada: Jan el 27 de Feb. de 2013
What happens, if you move the loop counter into the formula?
for j=2:n
D(j:n,j)=(D(j:n,j-1)-D(j-1:n-1,j-1)) ./ (x(j:n)-x(1:n-j+1));
end

1 comentario

Le
Le el 27 de Feb. de 2013
Thanks a lot but it doesn't work for me. Can you elaborate a little bit on how to move the loop into the formula?

Iniciar sesión para comentar.

Long Wu
Long Wu el 15 de Abr. de 2014
The solution suggested above is on right direction,
but need a little bit modification :
D(j:m,j)=(D(j:m, j-1)-D(j-1:m-1, j-1))./((x(j:m)-x(1:m-j+1)))';
As the front part is column vector , later part is row vector.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

Le
el 27 de Feb. de 2013

Respondida:

el 15 de Abr. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by