数值分析实验3计算142许莎莎 2014014517数值分析实验三
专业班级:信计142 姓名:许莎莎学号:2014014517
1)实验目的
掌握三种插值方法:牛顿多项式插值,三次样条插值,拉格朗日插值,并比较三种插值方法的优劣。编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码,并在MATLAB软件中去实现
2)实验题目、内容、结果
xi
f(xi)
试用4 次牛顿插值多项式P4(x)及三次样条函数S(x)(自然边界条件)对数据进行插值,用图给出{(xi,yi),xi=+,i=0,1,11,10},P4(x),及S(x)。
牛顿插值多项式
function varargout=newtonliu(varargin)
clear,clc
x=[ ];
fx=[ ];
newtonchzh(x,fx);
function newtonchzh(x,fx)
n=length(x);
fprintf('*****************²î·Ö±í*****************************\n');
FF=ones(n,n);
FF(:,1)=fx';
for i=2:n
for j=i:n
FF(j,i)=(FF(j,i-1)-FF(j-1,i-1))/(x(j)-x(j-i+1));
end
end
for i=1:n
fprintf('%',x(i));
for j=1:i
fprintf('%',FF(i,j));
end
fprintf('\n');
end
计算结果为:
xi
f(xi)
一阶差商
二阶差商
三阶差商
四阶差商
-
-
-
-
-
-
-
-
-
-
所以有四次插值牛顿多项式为:
P4(x)=-(x-)- (x-)(x-) - (x-)(x-)(x-)- (x-)(x-)(x-)(x-)
三次样条插值
用三次样条插值函数由上题分析知,要求各点的M值:
function tgsanci(n,s,t)
x=[ ];
y=[ ];
n=5
for j=1:1:n-1
h(j)=x(j+1)-x(j);
end
for j=2:1:n-1
r(j)=h(j)/(h(j)+h(j-1));
end
for j=1:1:n-1
u(j)=1-r(j);
end
for j=1:1:n-1
f(j)=(y(j+1)-y(j))/h(j);
end
for j=2:1:n-1
d(j)=6*(f(j)-f(j-1))/(h(j-1)+h(j));
end
d(1)=0
d(n)=0
a=zeros(n,n);
for j=1:1:n
a(j,j)=2;
end
r(1)=0;
u(n)=0;
for j=1:1:n-1
a(j+1,j)=u(j+1);
a(j,j+1)=r(j);
end
b=inv(a)
m=b*d'
p=zeros(n-1,4);
for j=1:1:n-1
p(j,1)=m(j)/(6*h(j));
p(j,2)=m(j+1)/(6*h(j));
p(j,3)=(y(j)-m(j)*(h(j)^2/6))/h(j);
p(j,4)=(y(j+1)-m(j+1)*(h(j)^2/6))/h(j);
end
p
得到m=(0 - - - 0)T
即M0=0 ;M1= -;M2= -; M3= -; M4=0
则根据三次样条函数定义,可得:
S(x)=
画牛顿插值以及三次样条插值图形
x=[ ];
y=[ 0
数值分析实验3计算142许莎莎 来自淘豆网m.daumloan.com转载请标明出处.