7.1.2 二维内插
二维内插与一维内插的区别是二维内插数据为二维,语法结构为interp2(X,Y,Z,XI,YI),其中X,Y,Z为已知数据,Z=Z(X,Y),而XI,YI 为要插值的数据点;如果语法结构为interp2(X,Y,Z,XI,YI,'method'),其中method可以为linear,cubic表示线形或三次方插值,我们以下例说明:
假设一汽车的转速(单位为:rpm)、温度(单位为:oC)、时间(单位为:sec)如下表:
| time | speed | ||
| 0 | 2000 rpm | 3000 rpm | 4000 rpm |
| 1 | 20 | 110 | 176 |
| 2 | 60 | 180 | 220 |
| 3 | 68 | 240 | 349 |
| 4 | 77 | 310 | 450 |
| 5 | 110 | 405 | 503 |
其中温度的数据为20oC到503oC,如果要估计t=2.6, sec, rpm=2500的温度,可以利用下面的语句:
>> d2(:,1)=[0 1 2 3 4 5]'; % 将时间输入
>> d2(:,2)=[2000 20 60 68 77
110]'; % 将 rpm=2000的温度输入
>> d2(:,3)=[3000 110 180 240 310
405]'; % 将 rpm=3000 的温度输入
>> d2(:,4)=[4000 176 220 349 450
503]'; % 将 rpm=4000 的温度输入
>> t=d2(2:6,1); %选择做内插的时间
>> rpm=d2(1,2:4); % 选择做内插的 rpm
>> temp=d2(2:6,2:4); % 选择做内插的温度
>>
temp_i=interp2(rpm,t,temp,2500,2.6) % 以线形内插决定 rpm=2500,t=2.6 的温度
temp_i =
140.4000
![]()
上一页 下一页 讲义大纲