Gauss forward interpolation formula
Show older comments
n = length(x)
I created the difference table (tbl) using the following code. difference table is in attached file
tbl=y';
for j=2:n
for i=1:n-j+1
tbl(i,j)=tbl(i+1,j-1)-tbl(i,j-1);
end
end
p = (xp – x0) / h
yp = y0 + p.dy0 + p(p-1) (d2 y-1 + d3 y-1 ) / 2! + p(p-1) (p-2) (d3 y-1 + d4 y-1 ) / 3! +
p(p-1) (p-2)(p-3) (d4 y-1 + d5 y-1 ) / 4! + p(p-1) (p-2)(p-3)(p-4) (d5 y-1 + d6 y-1 ) / 5!
I created a vector with the terms 1, p, p(p-1), p(p-1)(p-2)…p(p-1)(p-2)..(p-(n-2)) as t=cumprod([1,p-(0:n-2)]);
Now, suggest me the code to create a vector with the following terms
y0 , dy0 , (d2 y-1 + d3 y-1 ) / 2! , (d3 y-1 + d4 y-1 ) / 3! , (d4 y-1 + d5 y-1 ) / 4! ,
(d5 y-1 + d6 y-1 ) / 5! , …….
4 Comments
John D'Errico
on 17 Oct 2018
Since this is your homework, why not make an effort? Try it, THEN ask for help in fixing what you tried. You learn nothing by just giving up and asking for someone to provide the answer.
John D'Errico
on 18 Oct 2018
Edited: John D'Errico
on 18 Oct 2018
Please don't answer your question with an answer that only adds information. Learn how to use comments instead. Answer moved to a comment:
My code is given below:
function [ yval ] = gauss_p( xd,yd,xp )
n=length(xd);
if(length(yd)==n)
tbl=yd';
for j=2:n
for i=1:n-j+1
tbl(i,j)=tbl(i+1,j-1)-tbl(i,j-1);
end
end
tbl
h=xd(2)-xd(1);
if rem(n,2)==0
k=n/2+1;
else
k=n/2+0.5;
end
p=(xp-xd(k))/h
pt=cumprod([1,p-(0:n-3)])
dt=[tbl(k,1) tbl(k,2) tbl(k-1,3)+tbl(k-1,4) tbl(k-1,4)+tbl(k-1,5) tbl(k-1,5)+tbl(k-1,6) tbl(k-1,6)+tbl(k-1,7)]./factorial(0:n-2)
yval=sum(pt.*dt)
end
Suggest me to simplify the calculation of 'dt' vector with any predefined function
Anton Gluchshenko
on 18 Nov 2020
Edited: Anton Gluchshenko
on 18 Nov 2020
Sorry. But It is not your code... or?
Ismail Khan Totakhil
on 18 Mar 2021
Good one sir, can u show me the code of Newton backwards interpolation... Thank u sir..
Answers (0)
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!