文档库 最新最全的文档下载
当前位置:文档库 › 用MATLAB实现拉格朗日插值(特选参考)

用MATLAB实现拉格朗日插值(特选参考)

用MATLAB实现拉格朗日插值(特选参考)
用MATLAB实现拉格朗日插值(特选参考)

用MATLAB实现拉格朗日插值

1、作业内容:

用MATLAB实现拉格朗日插值

2、作业目的:

1)学会使用MATLAB软件;

2)会使用MATLAB软件进行拉格朗日插值算法

3、作业原理:

利用拉格朗日插值方法进行多项式插值,并将图形显式出来。

4、实验步骤及运行结果

(1)实现lagrange插值

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

function y = f1(x)

y = 1./(25x.^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=-1:0.001:1;

y=(1+25.*x.^2).^-1;

p=polyfit(x,y,n);

py=vpa(poly2sym(p),10)

plot_x=-1:0.001:1;

f1=polyval(p,plot_x);

figure

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

通过上图可以看到当n=6是没有很好的模拟。

于是重新运行text.M并选择n=15,运行,显示图形如下:

拉格朗日插值法_matlab

MATLAB结课作业 姓名:郭海阳 班级:机械093 学号:2009111006 成绩: 时间:2012/6/8

一.任务。用matlab编写拉格朗日插值算法的程序并且以 (x=-2.00,f(x)=17.00 x=0.00,f(x)=1.00 x=1.00,f(x)=2.00 x=2.00,f (x)=17.00)为数据基础,在整个插值区间上采用拉格朗日插值算法计算f(x=0.6),写出程序源代码,输出计算结果 二.算法。x0=-2.00;x1=0.00;x2=1.00;x3=2.00; y0=17.00;y1=1.00;y2=2.00;y3=17.00; x=0.6 y=(x-x1).*(x-x2).*(x-x3)/((x0-x1).*(x0-x2).*(x0-x3))*y0+(x-x0).*(x-x2 ).*(x-x3)/((x1-x0).*(x1-x2).*(x1-x3))*y1+(x-x0).*(x-x1).*(x-x3)/((x2-x0).*(x2-x1).*(x2-x3))*y2+(x-x0).*(x-x1).*(x-x2)/((x3-x0).*(x3-x1).*( x3-x2))*y3; disp('y=');disp(y); 结果为:x = 0.6000 y= 0.2560 三.程序。function s=Lagrange(x,y,x0) %lagrange插值,x,y为已知的插值点及其函数值 %x0为要求的插值点的x值 nx=length(x); ny=length(y); if nx~=ny warning('矢量x与y的长度应该相等') return end m=length(x0); %按照公式,对要求的插值点矢量x0的每个元素进行计算 for i=1:m t=0.0; for j=1:nx u=1.0; for k=1:nx if k~=j u=u*(x0(i)-x(k))/(x(j)-x(k)); end end t=t+u*y(j); end

MATLAB实现拉格朗日插值

数值分析上机报告 题目:插值法 学号:201014924 姓名:靳会有

一、调用MATLAB内带函数插值 1、MATLAB内带插值函数列举如下: 2、取其中的一维数据内插函数()为例,程序如下:其调用格式为: yi=interp1(x, y, xi) yi=interp1(x, y, xi, method) 举例如下: x=0:10:100 y=[40 44 46 52 65 76 80 82 88 92 110]; xi=0:1:100 yi=interp1(x,y,xi,'spline') 3、其他内带函数调用格式为: Interpft函数: y=interpft(x,n) y=interpft(x,n,dim) interp2函数: ZI=interp2(X, Y, Z, XI, YI),ZI=imerp2(Z, ntimes)

ZI=interp2(Z, XI, YI) ,ZI=interp2(X, Y, Z, XI, YI, method) interp3函数: VI=interp3(X,Y,Z,V,XI,YI,ZI) VI=interp3(V, ntimes) VI=interp3(V,XI,YI,ZI) VI=interp3(…, method) Interpn函数: VI=interpn(X1, X2, X3, …, V, Y1, Y2, Y3, …) VI=interpn(V, ntimes) VI=interpn(V, Yl, Y2, Y3, …) VI=interpn(…, method) Spline函数: yi=spline(x,y,xi) pp=spline(x,y) meshgrid函数: [X,Y]=meshgrid(x,y) [X,Y]=meshgrid(x) [X,Y,Z]=meshgrid(x,y,z) Ndgrid函数: [X1, X2, X3, …]=ndgrid(x1, x2, x3, …) [X1, X2, X3, …]=ndgrid(x) Griddata函数: ZI=griddata(x, y, z, XI, YI) [XI, YI, ZI]=griddata(x, y, z, xi, yi) […]=griddata(… method) 二、自编函数插值 1、拉格朗日插值法: 建立M 文件: function f = Language(x,y,x0) syms t l; if(length(x) == length(y)) n = length(x); else disp('x和y的维数不相等!'); return; %检错

用matlab编写拉格朗日插值算法的程序

用matlab编写拉格朗日插值算法的程序 10 [ 标签:matlab,插值算法,程序] 用matlab编写拉格朗日插值算法的程序,并以下面给出的函数表为数据基础,在整个插值区间上采用拉格朗日插值法计算f(0.6),写出程序源代码,输出计算结果 x -2.15 -1.00 0.01 1.02 2.03 3. 25 y 17.03 7.24 1.05 2.03 17.06 23.05 匿名回答:1 人气:6 解决时间:2011-05-24 19:58 满意答案 好评率:83% 做了一个测试,希望有所帮助。 代码: % 用matlab编写拉格朗日插值算法的程序,并以下面给出的函数表为数据基础,% 在整个插值区间上采用拉格朗日插值法计算f(0.6),写出程序源代码,输出计算结果 % x -2.15 -1.00 0.01 1.02 2.03 3. 25 % y 17.03 7.24 1.05 2.03 17.06 23.05 function main() clc; x = [-2.15 -1.00 0.01 1.02 2.03 3.25]; y = [17.03 7.24 1.05 2.03 17.06 23.05 ]; x0 = 0.6; f = Language(x,y,x0) function f = Language(x,y,x0) %求已知数据点的拉格朗日插值多项式 %已知数据点的x坐标向量: x %已知数据点的y坐标向量: y %插值点的x坐标: x0 %求得的拉格朗日插值多项式或在x0处的插值: f

syms t l; if(length(x) == length(y)) n = length(x); else disp('x和y的维数不相等!'); return; %检错 end h=sym(0); for (i=1:n) l=sym(y(i)); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end; for(j=i+1:n) l=l*(t-x(j))/(x(i)-x(j)); end; h=h+l; end simplify(h); if(nargin == 3) f = subs (h,'t',x0); %计算插值点的函数值 else f=collect(h); f = vpa(f,6); %将插值多项式的系数化成6位精度的小数 end 结果: f = 0.0201 >> 如何用MATLAB编写的拉格朗日插值算法的程序、二阶龙格-库塔方法的程序和SOR迭代法的程序,要能运行的 ∮初夏戀雨¢回答:2 人气:29 解决时间:2009-12-08 19:04 满意答案 好评率:100%

拉格朗日插值的matlab实现

2、拉格朗日插值 function[f,f0]=Language(x,y,x0) %求已知数据点的拉格朗日插值多项式 %已知数据点的x坐标向量:x %已知数据点的y坐标向量:y %插值点的x坐标:x0 %求得的拉格朗日插值多项式:f %x0处的插值:f0 syms t; if(length(x)==length(y)) n=length(x); else disp('x和y的维数不相等!'); return; end %检错 f=0.0; for(i=1:n) l=y(i); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end; for(j=i+1:n) l=l*(t-x(j))/(x(i)-x(j)); %计算拉格朗日基函数 end; f=f+l; %计算拉格朗日插值函数 simplify(f); %化简 end f0=subs(f,'t',x0); %计算插值点的函数值 运行程序; x=0:0.5:3; y=[0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411]; [f,f0]=Language(x,y,1.6) %计算输出的拉格朗日插值多项式 %计算x=1.6时的插值输出值f0 运行结果 f = -799/3125*t*(t-1)*(t-3/2)*(t-2)*(t-5/2)*(t-3)+561/500*t*(t-1/2)*(t-3/2)*(t-2)*(t-5/2)*(t-3)-133/75 *t*(t-1/2)*(t-1)*(t-2)*(t-5/2)*(t-3)+3031/2500*t*(t-1/2)*(t-1)*(t-3/2)*(t-5/2)*(t-3)-399/1250*t*(t-

matlab实现插值法和曲线拟合电子教案

m a t l a b实现插值法和 曲线拟合

插值法和曲线拟合 电子科技大学 摘要:理解拉格朗日多项式插值、分段线性插值、牛顿前插,曲线拟合,用matlab编程求解函数,用插值法和分段线性插值求解同一函数,比较插值余项;用牛顿前插公式计算函数,计算函数值;对于曲线拟 合,用不同曲线拟合数据。 关键字:拉格朗日插值多项式;分段线性插值;牛顿前插;曲线拟合 引言: 在数学物理方程中,当给定数据是不同散点时,无法确定函数表达式,求解函数就需要很大的计算量,我们有多种方法对给定的表格函数进行求解,我们这里,利用插值法和曲线拟合对函数进行求解,进一步了解函数性质,两种方法各有利弊,适合我们进行不同的散点函数求解。 正文: 一、插值法和分段线性插值 1拉格朗日多项式原理 对某个多项式函数,已知有给定的k + 1个取值点: 其中对应着自变量的位置,而对应着函数在这个位置的取值。 假设任意两个不同的x j都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为: 其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为: [3] 拉格朗日基本多项式的特点是在上取值为1,在其它的点 上取值为0。 2分段线性插值原理 给定区间[a,b], 将其分割成a=x 0

用MATLAB实现拉格朗日插值(特选参考)

用MATLAB实现拉格朗日插值 1、作业内容: 用MATLAB实现拉格朗日插值 2、作业目的: 1)学会使用MATLAB软件; 2)会使用MATLAB软件进行拉格朗日插值算法 3、作业原理: 利用拉格朗日插值方法进行多项式插值,并将图形显式出来。 4、实验步骤及运行结果 (1)实现lagrange插值 1)定义函数: f = 1./(25*x^2+1)将其保存在f.m 文件中,具体程序如下: function y = f1(x) y = 1./(25x.^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=-1:0.001:1; y=(1+25.*x.^2).^-1; p=polyfit(x,y,n); py=vpa(poly2sym(p),10) plot_x=-1:0.001:1; f1=polyval(p,plot_x); figure

实验四用MATLAB实现拉格朗日插值、分段线性插值

实验四用MATLAB实现拉格朗日插值、分段线性插值一、实验目的: 1)学会使用MATLAB软件; 2)会使用MATLAB软件进行拉格朗日插值算法和分段线性差值算法; 二、实验内容: 1用MATLAB实现y = 1./(x.^2+1);(-1<=x<=1)的拉格朗日插值、分段线性 2.选择以下函数,在n个节点上分别用分段线性和三次样条插值的方法,计算m个插值点的函数值,通过数值和图形的输出,将插值结果与精确值进行比较,适当增加n,再作比较,由此作初步分析: (1).y=sinx;( 0≤x≤2π) (2).y=(1-x^2)(-1≤x≤1) 三、实验方法与步骤: 问题一用拉格朗日插值法 1)定义函数:y = 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=-1:0.001:1; 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 plot(x,y,‘r',plot_x,f1)

用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是没有很好的模拟。

完整word版试验四用MATLAB实现拉格朗日插值分段线性插值

实验四用MATLAB实现拉格朗日插值、分段线性插值 一、实验目的: 1)学会使用MATLAB软件; 2)会使用MATLAB软件进行拉格朗日插值算法和分段线性差值算法; 二、实验内容: 1用MATLAB实现y = 1./(x.^2+1);(-1<=x<=1)的拉格朗日插值、分段线性 2.选择以下函数,在n个节点上分别用分段线性和三次样条插值的方法,计算m个插值点的函数值,通过数值和图形的输出,将插值结果与精确值进行比较,适当增加n,再作比较,由此作初步分析: (1).y=sinx;( 0≤x≤2π) (2).y=(1-x^2)(-1≤x≤1) 三、实验方法与步骤: 问题一用拉格朗日插值法 1)定义函数:y = 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文件中,实现画图:

用MATLAB实现拉格朗日插值

用MATLAB实现拉格朗日插值 1、作业内容: 用MATLAB实现拉格朗日插值 2、作业目的: 1)学会使用MATLAB软件; 2)会使用MATLAB软件进行拉格朗日插值算法 3、作业原理: 利用拉格朗日插值方法进行多项式插值,并将图形显式出来。 4、实验步骤及运行结果 (1)实现lagrange插值 1)定义函数: f = 1./(25*x^2+1)将其保存在f.m 文件中,具体程序如下: function y = f1(x) y = 1./(25x.^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 ifj == 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=—1:0.001:1; y=(1+25.*x.^2).^-1; p=polyfit(x,y,n); py=vpa(poly2sym(p),10) plot_x=—1:0.001:1; f1=polyval(p,plot_x); figure plot(x,y,‘r',plot_x,f1)输入n=6,出现下面的图形:

实验四用MATLAB实现拉格朗日插值、分段线性插值

实验四用MATLAE实现拉格朗日插值、分段线性插值 一、实验目的: 1)学会使用MATLAB软件; 2)会使用MATLAB软件进行拉格朗日插值算法和分段线性差值算法; 二、实验内容: 1用MATLAB实现y二l./(x.A2+l); (-1〈二xUl )的拉格朗日插值、分段线性 2.选择以下函数,在n个节点上分别用分段线性和三次样条插值的方法,计算m个插值点 的函数值,通过数值和图形的输出,将插值结果与精确值进行比较,适当增加n ,再作比较,由此作初步分析: (1).y二sinx;( 0

中,具体实现程序编程如下:function y = lagrange (xO, yO, x)

m 二 length(x); /区间长度/

n 二length(xO); for i 二l:n l(i)二1; end for i 二l:m for j 二l:n for k 二l:n if j 二二k continue; end l(j)二(x(i) -XO(k))/( xO(j) 一xO(k) )*1 (j); end end end y 二o; for i 二l:n y 二y0(i) * l(i) + y;

end

3)建立测试程序,保存在text.m文件中,实现画图: x 二-1:0.001:1; V 二l./(x. A2+l); p二polyfit (x, v, n): py=vpa(poly2sym(p), 10) plot_x二一5:0. 001:5; fl=polyval(p, plot_x); figure plot (x, y, r , plot_x, fl) 分段线性插值: 建立div_linear. m文件。具体编程如下

拉格朗日插值多项式matlab

实验报告:拉格朗日插值多项式 实验目的与要求: 熟练掌握拉格朗日插值的基本思想与插值公式 实验内容: 对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n == 。试用Lagrange 公式求其插值多项式Lagrange 插值多项式。 数据如下: (1) 求五次Lagrange 多项式5L ()x ,计算(0.596)f ,(0.99)f 的值。 ( 试构造Lagrange 多项式6L ()x ,计算的(1.8)f ,(6.15)f 值。 实验环境与器材: Matlab7.0 实验过程(步骤)或程序代码: (1) fid=fopen('l3.txt','wt'); fprintf(fid,'试用Lagrange 公式求其插值多项式Lagrange 插值多项式,求f(0.596),f(0.99)\n'); A=[0.4,0.55,0.65,0.80,0.95,1.05]; B=[0.41075,0.57815,0.69675,0.9,1,1.25382]; For p=1:2 x=input('输入x=') a=1; for i=1:6

a=a*(x-A(i)); end l=0; for i=1:6 b=1; for j=1:6 if i~=j b=b*(A(i)-A(j)); end end l=l+B(i)*a/((x-A(i))*b); end fprintf(fid,'x f(x)\n'); fprintf(fid,'%2f %f\n',x,L); end (2) fid=fopen('l3.txt','wt'); fprintf(fid,'试用Lagrange公式求其插值多项式Lagrange插值多项式,求f(1.8),f(6.15)\n'); for p=1:2 x=input('输入x=') A=[1,2,3,4,5,6,7]; B=[0.368,0.135,0.050,0.018,0.007,0.002,0.001]; a=1; for i=1:7 a=a*(x-A(i)); end l=0; for i=1:7 b=1; for j=1:7 if i~=j b=b*(A(i)-A(j)); end end l=l+B(i)*a/((x-A(i))*b); end fprintf(fid,'x f(x)\n'); fprintf(fid,'%2f %f\n',x,L); end

matlab 拉格朗日插值法

matlab 拉格朗日插值法 function f = Language(x,y,x0) %求已知数据点的拉格朗日插值多项式 %已知数据点的x坐标向量: x %已知数据点的y坐标向量: y %插值点的x坐标: x0 %求得的拉格朗日插值多项式或在x0处的插值: f syms t; if(length(x) == length(y)) n = length(x); else disp('x和y的维数不相等!'); return; %检错 end f=0.0; for(i=1:n) l=y(i); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end; for(j=i+1:n) l=l*(t-x(j))/(x(i)-x(j)); end; f=f+1; simplify(f); if(i==n) if(nargin == 3) f = subs (f,'t',x0); %计算插值点的函数值 else f=collect(f); f = vpa(f,6); %将插值多项式的系数化成6位精度的小数 end end end 在matlab中输入 x=[18 31 66 68 70 72 70;] y=[23 33 52 51 43 40 46]; f=Language(x,y) plot(x,y)

x = 18 31 66 68 70 72 70 出现错误 ??? Function 'collect' is not defined for values of class 'double'. Error in ==> Language at 32 f=collect(f); 怎么解决,谢谢了,急!!! 问题补充: 还是不行, ??? Error using ==> sym.maple at offset 12, `)` unexpected Error in ==> sym.collect at 34 r = maple('collect',s,x); Error in ==> Language at 32 f=collect(f); 最佳答案 function f = Language(x,y,x0) %求已知数据点的拉格朗日插值多项式 %已知数据点的x坐标向量: x %已知数据点的y坐标向量: y %插值点的x坐标: x0 %求得的拉格朗日插值多项式或在x0处的插值: f syms t; if(length(x) == length(y)) n = length(x); else disp('x和y的维数不相等!'); return; %检错 end f=0.0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%改为 f=sym(0); for(i=1:n) l=y(i); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%改为 l=sym(y(i)); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end;

MATLAB实现拉格朗日插值

M A T L A B实现拉格朗 日插值 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

数值分析上机报告 题目:插值法 姓名:靳会有 一、调用MATLAB内带函数插值 1、MATLAB内带插值函数列举如下: 2 其调用格式为: yi=interp1(x, y, xi) yi=interp1(x, y, xi, method) 举例如下: x=0:10:100 y=[40 44 46 52 65 76 80 82 88 92 110]; xi=0:1:100 yi=interp1(x,y,xi,'spline') 3、其他内带函数调用格式为: Interpft函数: y=interpft(x,n) y=interpft(x,n,dim) interp2函数: ZI=interp2(X, Y, Z, XI, YI), ZI=imerp2(Z, ntimes)

ZI=interp2(Z, XI, YI) ,ZI=interp2(X, Y, Z, XI, YI, method) interp3函数: VI=interp3(X,Y,Z,V,XI,YI,ZI) VI=interp3(V, ntimes) VI=interp3(V,XI,YI,ZI) VI=interp3(…, method) Interpn函数: VI=interpn(X1, X2, X3, …, V, Y1, Y2, Y3, …) VI=interpn(V, ntimes) VI=interpn(V, Yl, Y2, Y3, …) VI=interpn(…, method) Spline函数: yi=spline(x,y,xi) pp=spline(x,y) meshgrid函数: [X,Y]=meshgrid(x,y) [X,Y]=meshgrid(x) [X,Y,Z]=meshgrid(x,y,z) Ndgrid函数: [X1, X2, X3, …]=ndgrid(x1, x2, x3, …) [X1, X2, X3, …]=ndgrid(x) Griddata函数: ZI=griddata(x, y, z, XI, YI) [XI, YI, ZI]=griddata(x, y, z, xi, yi) […]=griddata(… method) 二、自编函数插值 1、拉格朗日插值法: 建立M 文件: function f = Language(x,y,x0) syms t l; if(length(x) == length(y)) n = length(x); else disp('x和y的维数不相等!'); return; %检错 end h=sym(0);

相关文档
相关文档 最新文档