MATLAB Answers

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

263 views (last 30 days)
Quinten
Quinten on 1 Nov 2016
Answered: Tamir Suliman on 14 Dec 2016
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 Comments

Show 3 older comments
Walter Roberson
Walter Roberson on 2 Nov 2016
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?

Sign in to comment.

Answers (1)

Tamir Suliman
Tamir Suliman on 14 Dec 2016
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

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!