好文档 - 专业文书写作范文服务资料分享网站

用MATLAB实现拉格朗日插值和分段线性插值.

天下 分享 时间: 加入收藏 我要投稿 点赞

用MATLAB实现拉格朗日插值和分段线性插值 1、实验内容:

用MATLAB实现拉格朗日插值和分段线性插值。 2、实验目的:

1学会使用MATLAB软件;

2会使用MATLAB软件进行拉格朗日插值算法和分段线性 差值算法; 3、实验原理:

利用拉格朗日插值方法进行多项式插值,并将图形显式出来。 4、实验步骤及运行结果 (1实现lagrange插值

1定义函数:f = 1/(x^2+1 将其保存在f.m 文件中,具体程序 如下:

function y = f1(x y = 1./(x.^2+1;

2定义拉格朗日插值函数:将其保存在lagrange.m 文件中, 具体实现程序编程如下: function y = lagrange(x0,y0,x m = length(x; /区间长度/

n = length(x0; for i = 1:n l(i = 1; end for i = 1:m for j = 1:n for k = 1:n if j == k continue; end

l(j = ( x(i -x0(k/( x0(j - x0(k *l(j; end end end y = 0; for i = 1:n y = y0(i * l(i + y; end

3建立测试程序,保存在text.m文件中,实现画图:

x=-5:0.001:5; y=(1+x.^2.^-1; p=polyfit(x,y,n; py=vpa(poly2sym(p,10 plot_x=-5:0.001:5; f1=polyval(p,plot_x; figure

plo t(x,y,‘r',plot_x,f1 输入n=6,出现下面的图形:

通过上图可以看到当n=6是没有很好的模拟。 于是重新运行text.M并选择n=11

由此可见n=11时的图像是可以很好的实现模拟 (2分段线性插值:

建立div_linear.m文件。具体编程如下 /*分段线性插值函数:div_linear.m 文件*/ function y = div_linear(x0,y0,x,n %for j = 1:length(x for i = 1:n-1

if (x >= x0(i && (x <= x0(i+1

y = (x - x0(i+1/(x0(i - x0(i+1*y0(i + ( x - x0(i/(x0(i+1 - x0(i*y0(i+1; else continue; end end %end

测试程序(text2.m: n = input(‘输入n =:’; x0 = linspace( -5,5,n; for x = -5:0.01:5

y = div_linear(x0,f(x0,x,n; hold on; plot(x,y,'r'; plot(x,f(x,'b'; end

2运行测试程序,这是会出现: 输入n=:

2输入n=6,并按Enter键,出现:

4关掉图形界面后,重新运行程序,输入n=11,并按enter键后 出现:

5再次关掉图形界面,输入n=100,并按enter键,出现:

此时。图形将于原函数图形基本吻合,说明分割区间越多,图像接近 真实的图像。

(3用lagrange插值观察y = |sin(k*π*x|的误差分析: 1编写函数文件,保存在f2.m 中 x=0:0.01:1; k= input('输入k:' n= input('输入n:'; y=abs(sin(k*pi*x; p=polyfit(x,y,n-1; py=vpa(poly2sym(p,8; plot_x=0:0.01:1; f1=polyval(p,plot_x; plot(x,y,plot_x,f1; 2运行该程序: 输入k=:1 输入n=:2

用MATLAB实现拉格朗日插值和分段线性插值.

用MATLAB实现拉格朗日插值和分段线性插值1、实验内容:用MATLAB实现拉格朗日插值和分段线性插值。2、实验目的:1学会使用MATLAB软件;2会使用MATLAB软件进行拉格朗日插值算法和分段线性差值算法;3、实验原理:利用拉格朗日插值方法进行多项式插值,并将图形显式出来。4、实验步骤及运行结果(
推荐度:
点击下载文档文档为doc格式
87q0s23z0x7z7sh75m1a072ie1yi3600n1t
领取福利

微信扫码领取福利

微信扫码分享