插值多项式余项公式说明插值节点越多,误差越小,函数逐近越好,但后来人们发现,事实并非如此,例如:取被插函数,在[-5,5]上的n+1个等距节点:计算出f(xk)后得到Lagrange插值多项式Ln(x),考虑[-5,5]上的一点x=5-5/n,分别取n=2,6,10,14,18计算f(x),Ln(x)及对应的误差Rn(x),得下表
从表中可知,随节点个数n的增加,误差lRn(x)l不但没减小,反而不断的增大这个例子最早是由Runge研究,后来人们把这种节点加密但误差增大的现象称为Runge现象出现Runge现象的原因主要是当节点n较大时,对应的是高次插值多项式,此差得积累淹没了增加节点减少的精度Runge现象否定了用高次插值公式提高逼近精度的想法,本节的分段插值就是克服Runge现象引入的一种插值方法
分段多项式插值的定义为
定义2: a=x0<x1<…<xn=b: 取[a,b]上n+1个节点 并给定在这些节点 上的函数值f(xR)=yR R=0,1,…,n
如果函数Φ(x)满足条件
i) Φ(x)在[a,b]上连续
ii) Φ(xr)=yR,R =0,1,…,n
iii) Φ(x)zai 每个小区间[xR,xR+1]是m次多项式,
R=0,1,…,n-1则称Φ(x)为f(x)在[a,b]上的分段m次插值多项式
实用中,常用次数不超过5的底次分段插值多项式,本节只介绍分段线性插值和分段三次Hermite插值,其中分段三次Hermite插值还额外要求分段插值函数Φ(x)
在节点上与被插值函数f(x)有相同的导数值,即
★基本思想 将被插值函数f〔x〕的插值节点 由小到大 排序,然后每对相邻的两个节点为端点的区间上用m 次多项式去近似f〔x〕
例题
例1 已知f(x)=ln(x)的函数表为:
试用线性插值和抛物线插值分别计算f(327)的近似值并估计相应的误差。
解:线性插值需要两个节点,内插比外插好因为327 (32,33),故选x0=32,x1=33,由n=1的lagrange插值公式,有
所以有,为保证内插对抛物线插值,选取三个节点为x0=32,x1=33,x2=34,由n=2的lagrange插值公式有
故有
所以线性插值计算ln327的误差估计为
故抛物线插值计算ln327的误差估计为:
显然抛物线插值比线性插值精确。
sorry啦,5,function y=lagrange(x0,y0,x);
n=length(x0); m=length(x);
for i=1:m
z=x(i);
s=00;
for k=1:n
p=10;
for j=1:n
if j~=k
,2,用matlab对函数进行lagrange插值和分段线性插值
对函数f(x)=1/(1+x^2)在[-5,5]区间以01为步长分别进行lagrange插值和分段线性插值,通过作图比较两种插值结果
求程序和用法
在最后加一句代码:
axis([0 1 -inf inf])
其实都已经画完了,只是你的x轴和y轴在最后作图的时候被限定了范围,所以看起来像没有画上去。加了上面代码之后可以得出如下图:
n=-1:3; %n=-1,0,1,2,3
x=1:5; %x=1,2,,5
k=0:500; %k=0,1,,500
w=(pi/500)k; %w=pi/500k,pi是31415926
X=x(exp(-jpi/500))^(n'k); %(^)中点的意思是元素 *** 作,^是次方, n' 是吧n置换 ,j是虚数
magX=abs(X); %abs(x)就是数学中的|X|
angX=angle(X); %angle(X)是找角度的
subplot(2,1,1) %排列想成矩阵,那么就有2行一列,这个图是第一个位置
plot(w/pi,magX); %画图(x轴,y轴)
title('幅度响应'); %标题
grid; %加格子
ylabel('幅度'); %y轴标题
xlabel('以\pi为单位的频率'); %x轴标题
subplot(2,1,2) %第二张图
plot(w/pi,angX)
title('相位响应');
grid;
ylabel('相位/\pi');
xlabel('以\pi为单位的频率');
以上就是关于插值法的分段插值全部的内容,包括:插值法的分段插值、用matlab对函数进行lagrange插值和分段线性插值、MATLAB求助,画分段线性插值函数曲线,我用ezplot,hold on了啊,为什么只画出最后一段曲线等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)