MATLAB一维插值(interp1)四种方法的比较

一维插值是指被插值函数y=f(x)为一元函数。MATLAB提供interp1(x,y,xq,'Method')函数命令可以进行一维插值,其中一维插值有四种常用的方法,也就是'Method'可以选择邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip。下面对MATLAB这四种一维插值(interp1)的方法进行比较。

操作方法

  • 01

    第一,演示邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip,启动MATLAB,新建脚本(Ctrl+N),输入如下代码: close all; clear all; clc x=0:0.5:2*pi; y=sin(x); %-1---Nearest interpolation---% figure('Position',[50,50,500,400],'Name','Nearest') x1=0:0.1:2*pi;y1=interp1(x,y,x1,'Nearest'); plot(x,y,'.','color','r','MarkerSize',20);hold on; plot(x1,y1,'.','color','b','MarkerSize',10);hold off; xlabel('x','fontsize',20);ylabel('y','fontsize',20); %-2---Linear interpolation---% figure('Position',[100,100,500,400],'Name','Linear') x2=0:0.1:2*pi;y2=interp1(x,y,x1,'Linear'); plot(x,y,'.','color','r','MarkerSize',20);hold on; plot(x2,y2,'.','color','b','MarkerSize',10);hold off; xlabel('x','fontsize',20);ylabel('y','fontsize',20); %-3---Spline interpolation---% figure('Position',[150,150,500,400],'Name','Spline') x3=0:0.1:2*pi;y3=interp1(x,y,x1,'Spline'); plot(x,y,'.','color','r','MarkerSize',20);hold on; plot(x3,y3,'.','color','b','MarkerSize',10);hold off; xlabel('x','fontsize',20);ylabel('y','fontsize',20); %-4---Pchip interpolation---% figure('Position',[200,200,500,400],'Name','Pchip') x4=0:0.1:2*pi;y4=interp1(x,y,x1,'Pchip'); plot(x,y,'.','color','r','MarkerSize',20);hold on; plot(x4,y4,'.','color','b','MarkerSize',10);hold off; xlabel('x','fontsize',20);ylabel('y','fontsize',20); 该脚本借助一元函数y=sin(x)分别演示了邻近点插值Nearest,线性插值Linear,三次样条插值Spline和立方插值Pchip,(x,y)为原函数的点,(x1,y1),(x2,y2),(x3,y3)和(x4,y4)分别为Nearest,Linear,Spline和Pchip四种插值方法插值后函数的点。

  • 02

    第二,保存和运行上述脚本,得到Figure 1 邻近点插值(Nearest)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示邻近点插值(Nearest)后的点。

  • 03

    第三,得到Figure 2 线性插值(Linear)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示线性插值(Linear)后的点。

  • 04

    第四,得到Figure 3 三次样条插值(Spline)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示三次样条插值(Spline)后的点。

  • 05

    第五,得到Figure 4 立方插值(Cubic)的图像。红点表示y=sin(x)一元函数原有的点,蓝点表示立方插值(Cubic)后的点。

(0)

相关推荐

  • MATLAB创建一维数组的5种方法

    数组是MATLAB操作和运算的基础,一维数组作为最简单的数组是很容易创建,本文介绍MATLAB创建一维数组的5种方法:直接输入法,步长生成法,转置法,定数线性采样法linspace(a,b,n),定数 ...

  • 使用iPad(iPhone)进行无线打印的四种方法

    ipad可以当打印机来使用,并且可以支持无线打印,非常方便实用,下面我们就来介绍一下如何使用iPad(iPhone)进行无线打印,四种方法依次如下: 1.AirPrint 从iOS 4.2开始,iOS ...

  • 手机锁屏图案(锁屏密码)忘记了怎么办?四种方法帮你轻松搞定

    很多朋友可能为了追求新奇,对手机的各种功能都比较好奇,都想试一试。对于图案解锁这个功能也可能比较喜欢,但会不会就是刚刚设置完了就忘记了呢?那么手机锁屏图案(锁屏密码)忘记了怎么办?本文将为大家介绍四种 ...

  • 如何在Excel中快速辨别两列数据是否一致的四种方法介绍

    在很多情况下我们需要将Excel表格中的一些数据整理一下,特别是一些相同的数据,我们需要将其找出,然后删除掉。但是在两列单元格中光是用眼睛去查找的话可能很难分辨出来,而且还很费神,何不试试用Excel ...

  • Linux操作系统下设置基本网络参数四种方法

    一、引言 在Red Hat Linux 6.0系统中,自带有Netscape浏览器,让Linux通过以太网卡访问Internet时,必须对Linux系统进行相应的配置,诸如主机、域名、网关、路由器等。 ...

  • 在Windows 8 PC上安装Linux的四种方法

    微软RTM版本的Windows 8相信已经有很多人试用过了,如果在Windows 8 PC上安装Linux很困难,那我们该怎么办呢?下面提供四种方法。 在UEFI上启动Linux 首先,需要在UEFI ...

  • 打开win7系统事件查看器的四种方法

    方法一、 依次点击“开始菜单-控制面板-管理工具-事件查看器”,就可以打开事件查看器窗口了。 方法二、 打开运行对话框,然后输入eventvwr,回车就可以打开事件查看器; 方法三、 首先鼠标右击电脑 ...

  • 自学Linux命令的四种方法

    如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 每日提示 学习Linux命令的一种渐进式方法是:在每次打开终端时,让它显示“每日提示”。这会向 ...

  • 在PPT中插入Flash动画四种方法

    现在很多学科经常要做一些研究性学习或者调查报告,使用Powerpoint是个不错的主意。 而很多时候,我们需要添加一些flash动画来使我们的幻灯片更加生动、美观和具有说服力。但是Powerpoint ...