数值分析上机报告 题目:插值法 学号:********* 姓名:*** 一、调用 MATLAB 内带函数插值 1、MATLAB 内带插值函数列举如下: interp1 interpft interp2 interp3 interpn spline meshgrid ndgrid griddata 一维数据内插(查表法) 使用 FFT 方法的一维数据内插 二维数据内插(查表法) 三维数据内插(查表法) 多维数据内插(查表法) 三次样条内插 为三维绘图产生 X 和 Y 阵 为多维函数和内插产生阵列 数据网格 2、取其中的一维数据内插函数(interp1)为例,程序如下: 其调用格式为: y i=interp1(x , y , x i) y i=interp1(x , y , x i, method) 举例如下: x =0:10:100 y =[40 44 46 52 65 76 80 82 88 92 110]; x i=0:1:100 y i=interp1(x ,y ,x i,'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); 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); %计算插值点的...