MATLAB二维插值(Nearest,Linear,Spline,Cubic)

 时间:2024-10-12 16:58:50

1、第一,利用峰值函数peaks(x,y,z)演示二维插值。启动MATLAB,新建脚本(Ctrl+N),输入如下代码:clos髫潋啜缅e all; clear all; clcn1=1; [x1,y1]=meshgrid(-2*pi:n1:2*pi);z1=peaks(x1,y1);n2=1/5*n1; [x2,y2]=meshgrid(-2*pi:n2:2*pi);z2=interp2(x1,y1,z1,x2,y2,'Nearest');%二维插值mesh(x1,y1,z1-10);hold on;mesh(x2,y2,z2+10);hold off;axis([-6,6,-6,6,-15,15])xlabel('x','fontsize',20);ylabel('y','fontsize',20);zlabel('z','fontsize',20);其中x1,y1是原有的数据点,z1=peaks(x1,y1)是原有数据点上的函数值。x2,y2插值后的数据点,因为n2=1/5*n1,所有插值后的数据点个数是原有数据点个数的5倍。z2=interp2(x1,y1,z1,x2,y2,'Nearest')说明使用邻近点插值Nearest的方法进行插值。

MATLAB二维插值(Nearest,Linear,Spline,Cubic)

2、第二,保存和运行上述脚本,得到如下图形。下面的图像是原有数据点(x1,y1)上的峰值函数图像,上面的图像是插值后数据点(x2,y2)上的峰值函数图像。

MATLAB二维插值(Nearest,Linear,Spline,Cubic)

3、第三,将z2=interp2(x1,y1,z1,x2,y2,'Nearest')改为将z2=interp2(x1,y1,z1,x2,y2,'Linear'),即使用双线性插值Linear的方法进行插值。

MATLAB二维插值(Nearest,Linear,Spline,Cubic)

4、第四,保存和运行上述脚本,得到如下图形,上面的峰值函数图像为插值后的图像,使用的是双线性插值Linear的方法。

MATLAB二维插值(Nearest,Linear,Spline,Cubic)

5、第五,将z2=interp2(x1,y1,z1,x2,y2,'Linear')改为将z2=interp2(x1,y1,z1,x2,y2,'Spline'),得到如下使用三次样条插值Spline的图形,同样也可以使用双立方插值Cubic的方法,这里不再赘述。

MATLAB二维插值(Nearest,Linear,Spline,Cubic)
  • Mathematica基础——分段函数的构造
  • matlab怎么生成正态分布随机数
  • 如何用MATLAB求平均值
  • 怎么用MATLAB解方程
  • 如何使用matlab软件绘制余割函数图像
  • 热门搜索
    不丹旅游要多少钱 南非旅游景点 我要去山西旅游 香港旅游购物 珠海旅游景点介绍 沈阳 旅游 最新旅游新闻 港澳旅游团 五一山东旅游景点 岳阳旅游公司