当前位置:文档之家› (matlab)分段线性插值代码

(matlab)分段线性插值代码

% y=1/(1+x^2) 分段线性xi=-5+10*i/n(i=1,1,...,n)。比较发现,随着n的增大,两者吻合得越来越好,龙格现象并未发生
clear all %清除命令空间中所有变量
%输入插值区间的等分数
disp('给出插值区间的等分数n')
n=input('n = ');
%作被插函数图象
u=-5:(10/200):5;
v=1./(1+u.^2);
plot(u,v,'r');
hold on%固化图形屏幕
%给出插值条件
x=-5:(10/n):5;
y=1./(1+x.^2);
%取需用分段线性插值函数计算其函数值的点z
z=-5:10/(2*n):5;
m=max(size(z));
%计算分段线性插值函数在z处的值,并作图
for k=1:m
i=1;
while i<=n
if z(k)>=x(i) & z(k)<=x(i+1)
Ih(k)=y(i)*(z(k)-x(i+1))/(x(i)-x(i+1))+y(i+1)*(z(k)-x(i))/(x(i+1)-x(i));
break
else
i=i+1;
end
end
end
plot(z,Ih,'b')
hold off%释放固化的图形屏幕

相关主题
文本预览
相关文档 最新文档