Calculate f(4) using newton's interpolating polynomials of order 1 through 4. Choose your base points to attain good accuracy.

55 ビュー (過去 30 日間)
x = [1 2 3 5 7 8];
y = [3 6 19 99 291 444];
I know I need a polval function like
xx = 1:8;
yy = polyval(xx,n);
I just don't know where to go from there.
  6 件のコメント
Jan
Jan 2016 年 11 月 2 日
@Quinten: We cannot guess, what f() is. Without knowing this detail, the question is not meaningful.
Walter Roberson
Walter Roberson 2016 年 11 月 2 日
Is the assignment to do with being passed in a function handle, and you are to apply the interpolation for the passed function handle evaluated at parameter 4?

サインインしてコメントする。

回答 (1 件)

Tamir Suliman
Tamir Suliman 2016 年 12 月 14 日
Check this code though I m not sure
function newton_interpolation(x,y,n,xx)
% x and y are two Row Matrices
% and xx is point of interpolation
% n is the order number which should be less than the matrix size
a(1) = y(1);
for k = 1 : n - 1
d(k, 1) = (y(k+1) - y(k))/(x(k+1) - x(k));
end
for j = 2 : n - 1
for k = 1 : n - j
d(k, j) = (d(k+1, j - 1) - d(k, j - 1))/(x(k+j) - x(k));
end
end
d
for j = 2 : n
a(j) = d(1, j-1);
end
Df(1) = 1;
c(1) = a(1);
for j = 2 : n
Df(j)=(xx - x(j-1)) .* Df(j-1);
c(j) = a(j) .* Df(j);
end
fp=sum(c)
plot(x,y)
title('Newton Interpolation ')
xlabel('x - value')
ylabel('y - value')
axis([min(x)-1 max(x)+1 0 max(y)+50])
grid on

カテゴリ

Help Center および File ExchangePolynomials についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by