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!

Réponses (2)

Jan
Jan le 27 Fév 2013
Modifié(e) : Jan le 27 Fév 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 commentaire

Le
Le le 27 Fév 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?

Connectez-vous pour commenter.

Long Wu
Long Wu le 15 Avr 2014

0 votes

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.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Question posée :

Le
le 27 Fév 2013

Community Treasure Hunt

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

Start Hunting!

Translated by