目录
插值
一维插值函数
y=interp1(x0,y0,x,'method')
其中:method是插值方法,默认线性插值。
‘nearest’最近项插值(感觉很少用)
‘linear’线性插值
‘spline’立方样条插值
pp=caspe(x0,y0);返回pp值
利用y=fnval(pp,x)求出函数值;
例5-2
clc;clear;
x0=0.15:0.01:0.18;
y0=[3.5,1.5,2.5,2.8];
pp=csape(x0,y0);
format long g
xishu=pp.coefs;
s=quadl(@(t)ppval(pp,t),0.15,0.18)
format
二维插值
一般两个公式分别求函数值与函数
1)z=interp2(x0,y0,z0,x,y,'method')
其中x,y为不同的向量,一个是列向量一个是行向量
2)pp=csape({x0,y0},z0),z=fnval(pp,{x,y})
例5-3
clear;clc;
x=100:100:500;
y=100:100:400;
z=[636 697 624 478 450
698 712 630 478 420
680 674 598 412 400
662 626 552 334 310 ];
pp=csape({x,y},z');
x1=100:10:500;
y1=100:10:400;
%z1=fnval(pp,{x1,y1});
[X Y]=meshgrid(x1,y1);
Z=interp2(x,y,z,x1,y1','spline');
mesh(X,Y,Z);
其中mesh为3d网格线画图。
拟合主要掌握工具箱即可。
z=load('C:\Users\sk\Desktop\文件\数学建模\书\司守奎数学建模算法与应用第二版\习题解答的程序及数据\05第5章\data51.txt');
x=0:400:5600;
y=0:400:4800;
x1=0:50:5600;
y1=0:50:4800;
z1=interp2(x,y,z,x1,y1','spline');
figure(1);
subplot(1, 2, 2)
surf(x1,y1,z1);
subplot(1,2,1)
c=contourf(z1,20);
clabel(c);