matlab插值与拟合例题_Matlab随笔之插值与拟合(下)

1、二维插值之插值节点为网格节点

已知m x n个节点:(xi,yj,zij)(i=1…m,j=1…n),且xi,yi递增。求(x,y)处的插值z。

Matlab可以直接调用interp2(x0,y0,z0,x,y,`method`)

其中 x0,y0 分别为 m维和 n维向量,表示节点, z0 为 n× m维矩阵,表示节点值, x,y

为一维数组,表示插值点, x 与 y 应是方向不同的向量,即一个是行向量,另一个是列

向量, z 为矩阵,它的行数为 y的维数,列数为 x的维数,表示得到的插值, 'method'

的用法同上面的一维插值。

如果是三次样条插值,可以使用命令

pp=csape({x0,y0},z0,conds,valconds),   z=fnval(pp,{x,y})其中 x0,y0 分别为 m维和 n维向量, z0 为 m× n维矩阵, z为矩阵,它的行数为 x的维

数,列数为 y的维数,表示得到的插值,具体使用方法同一维插值。

eg:

f7105ce5db89a646466532d0afb2f651.png

(1)、用interp2函数插值:

30a070b887761b19085305b3faca4a2c.gif

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];

p=100:1:500;

q=100:1:400;

q=q';%须为列向量

z0=interp2(x,y,z,p,q);%分段线性插值

z1=interp2(x,y,z,p,q,'spline');%三次线条插值

subplot(2,1,1);

mesh(p,q,z0);

title('分段线性插值');

subplot(2,1,2);

mesh(p,q,z1);

title('三次线条插值');%可以观察出,三次线条插值的图像更平滑

30a070b887761b19085305b3faca4a2c.gif

运行结果:

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值