matlab自带的插值函数interp1的四种插值方法

matlab自带的插值函数interp1的四种插值方法分段线性插值,临近插值,球面插值,三次多项式插值!!

大家好,又见面了,我是你们的朋友全栈君。

x=0:2*pi;
y=sin(x);
xx=0:0.5:2*pi;

%interp1对sin函数进行分段线性插值,调用interp1的时候,默认的是分段线性插值
y1=interp1(x,y,xx);
figure
plot(x,y,'o',xx,y1,'r')
title('分段线性插值')

%临近插值
y2=interp1(x,y,xx,'nearest');
figure
plot(x,y,'o',xx,y2,'r');
title('临近插值')

%球面线性插值
y3=interp1(x,y,xx,'spline');
figure
plot(x,y,'o',xx,y3,'r')
title('球面插值')

%三次多项式插值法
y4=interp1(x,y,xx,'cubic');
figure
plot(x,y,'o',xx,y4,'r');
title('三次多项式插值')

 

matlab自带的插值函数interp1的四种插值方法

 

matlab自带的插值函数interp1的四种插值方法

matlab自带的插值函数interp1的四种插值方法

matlab自带的插值函数interp1的四种插值方法

 

(1)    Nearest方法速度最快,占用内存最小,但一般来说误差最大,插值结果最不光滑。

(2)    Spline三次样条插值是所有插值方法中运行耗时最长的,插值函数及其一二阶导函数都连续,是最光滑的插值方法。占用内存比cubic方法小,但是已知数据分布不均匀的时候可能出现异常结果。

(3)    Cubic三次多项式插值法中,插值函数及其一阶导数都是连续的,所以插值结果比较光滑,速度比Spline快,但是占用内存最多。

语法形式

说明

y=interp1(x,Y,xi)

由已知点集(x,Y)插值计算xi上的函数值

y=interp1(x,Y,xi)

相当于x=1:length(Y)的interp(x,Y,xi)

y=interp1(x,Y,xi,method)

用指定插值方法计算插值点xi上的函数值

y=interp1(x,Y,xi,method,’extrap’)

对xi中超出已知点集的插值点用指定插值方法计算函数值

y=interp1(x,Y,xi,method,’extrap’,extrapval)

用指定方法插值xi上的函数值,超出已知点集处函数值取extrapval

y=interp1(x,Y,xi,method,’pp’)

用指定方法插值,但返回结果为分段多项式

 

 

 

 

Method

方法描述

‘nearest’

最邻近插值:插值点处函数值与插值点最邻近的已知点函数值相等

‘liner’

分段线性插值:插值点处函数值由连接其最邻近的两侧点的线性函数预测。Matlab中interp1的默认方法。

‘spline’

样条插值:默认为三次样条插值。可用spline函数替代

‘pchip’

三次Hermite多项式插值,可用pchip函数替代

‘cubic’

同’pchip’,三次Hermite多项式插值

更新日志2020-11-3

有个小老弟问我,怎么把这个插值函数获取到,后续调用,然后去看了一眼官方文档,有一句话

pp = interp1(x,v,method,'pp')

分段多项式,以可传递到 ppval 函数进行计算的结构体的形式返回。

也就是说这个插值函数可以使用上述代码获取到函数,然后使用ppval执行这个函数在某个特定位置的插值结果,比如

%test interpolate
clear;clc;close all
N=1200;
x = 1:0.5:6;
y = sin(x);
pp = interp1(x,y,'pchip','pp');

xq= 1:0.1:6;
result = ppval(pp,xq);
plot(x,y,'o',xq,result,'-.')

上述代码就是将函数以`pp`变量返回,然后使用ppval调用此函数,获取在xq处的值

matlab自带的插值函数interp1的四种插值方法

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130663.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux学习手册大全

    Linux学习手册大全、Linux大全1、虚拟机安装2、虚拟机网络连接方式3、安装vmtools4、虚拟机目录4.1、目录含义4.2、Linux颜色含义5、远程登录软件6、编辑命令7、用户管理8、CentOS7找回root密码9、文件目录指令pwd指令ls指令cd指令mkdir指令rmdir指令touch指令cp指令rm指令mv指令cat指令more指令less指令echo指令head指令tail指令指令>和指令>>ln指令history指令10、日期指令11、查找指令1、find指令2、locate指令3、

    2022年5月26日
    43
  • 描述性统计的matlab实现

    描述性统计的matlab实现

    2021年11月21日
    79
  • 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:T-Birds blog.csdn.net/weixin_36634753/article/details/9…

    2021年6月28日
    102
  • 操作系统中并发和并行的区别在于_线程是并行还是并发

    操作系统中并发和并行的区别在于_线程是并行还是并发一、教材解释:·并行是指两个或者多个事件在同一时刻发生,而并发是指两个或者多个事件在同一时间间隔发生·并行是在不同实体上的多个事件,并发是在同一实体上的多个事件二、c语言站长公众号解释:1、并发早期计算机的CPU都是单核的,一个CPU在同一时间只能执行一个进程或线程,当系统中有多个进程或线程等待执行时,CPU只能执行完一个再执行下一个。计算机在运行过程中,有很多指令会设计i/o操作,而i/o操作又是相当耗时间的,速度远远低于CPU,这导致CPU经常处于空闲状态,只能等待i/o操作完成

    2025年6月9日
    3
  • PS磨皮滤镜降噪插件套装Imagenomic Professional Plugin Suite有什么功能

    PS磨皮滤镜降噪插件套装Imagenomic Professional Plugin Suite有什么功能ImagenomicProfessionalPluginSuitemac版是一款PS磨皮降噪滤镜插件套装,其中包含noiseware降噪插件、portraiture3磨皮滤镜和Realgrain胶片效果滤镜插件,各有各的功能,可以轻松完成磨皮、添加胶片效果、降噪等。PS磨皮滤镜降噪套装官方介绍Portraiture3 皮肤修饰 自动皮肤平滑,愈合和增强效果插件 Noiseware 消除噪音 屡获殊荣的插件和独立的照片降噪 Realgrain

    2022年7月22日
    15
  • jdbc连接mysql5.7_JDBC连接MySQL5.7的方法

    jdbc连接mysql5.7_JDBC连接MySQL5.7的方法1.首先准备mysql和eclipse环境,在环境搭建好之后,从eclipse官网下载jdbc的驱动包,下载地址http://dev.mysql.com/downloads/connector/j/2.从下载的文件中取出mysql-connector-java-5.1.31-bin.jar,放到工程中,并导入路径方法:右击工程名->BuildPath->ConfigureBuil…

    2025年10月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号