MATLAB自带插值函数

MATLAB自带插值函数一 interp11 函数简介 MATLAB 中的插值函数为 interp1 其调用格式为 yi interp1 x y xi method 其中 x y 为初始插值点 xi 为给定的插值点 yi 为在被插值点 xi 处的插值结果 method 表示采用的插值方法 MATLAB 提供的插值方法有几种 nearest 是最邻近插值 linear 线性插值 sp

一、interp1

1、函数简介

   MATLAB中的插值函数为interp1,其调用格式为:yi= interp1(x,y,xi,’method’),

   其中x,y为初始插值点,xi为给定的插值点,yi为在被插值点xi处的插值结果。

2、用法示例

% 绘制散点图 clc clear close tem=[2 2 0 2 2 2 2 3 5 7 9 10 11 12 12 11 10 9 7 7 6 6 5 5]; time=1:24; plot(time,tem,'o') hold on % 第一种用法 xq=1:0.1:24; vq=interp1(time,tem,xq); plot(xq,vq) %绘制插值曲线 close %第二种用法 % linear 线形(默认) % nearest 临近点 % next 下一个 % previous 前一个 % pchip 保形分段三次插值 % cubic % v5cubic % spline 三次方样条数据插值 % 线性 subplot(2,3,1) xq=1:0.5:24; vq=interp1(time,tem,xq,'linear'); plot(xq,vq,'*') title('linear') % 临近点 subplot(2,3,2) xq=1:0.5:24; vq=interp1(time,tem,xq,'nearest'); plot(xq,vq,'*') title('nearest') % next subplot(2,3,3) xq=1:0.5:24; vq=interp1(time,tem,xq,'next'); plot(xq,vq,'*') title('next') % previous subplot(2,3,4) xq=1:0.5:24; vq=interp1(time,tem,xq,'previous'); plot(xq,vq,'*') title('previous') % pchip subplot(2,3,5) xq=1:0.5:24; vq=interp1(time,tem,xq,'pchip'); plot(xq,vq,'*') title('pchip') % spline subplot(2,3,6) xq=1:0.5:24; vq=interp1(time,tem,xq,'spline'); plot(xq,vq,'*') title('spline'); close % 第三种 取出插值多项式的系数 %v = ppval(pp,xq) 在查询点 xq 处计算分段多项式 pp。 x=0:0.5:2*pi; y=sin(x); p=interp1(x,y,'spline','pp'); %% 返回各个分段插值多项式p的系数 yy=ppval(p,linspace(0,2*pi,101)); plot(x,y,'o',linspace(0,2*pi,101),yy); % 第四种 x=0:0.5:2*pi; y=sin(x); xi=-1:0.2:7; p=interp1(x,y,xi,'spline') ;%插值区间xi超出样本区间x自动外推 p=interp1(x,y,xi,'linear','extrap'); %加上'extrap'自动外推 plot(x,y,'o',xi,p); p=interp1(x,y,xi,'next','extrap'); %加上'extrap'自动外推 p=interp1(x,y,xi,'nearest',9);%令超出范围的数值为9

二、spline三次样条插值

1、函数简介

MATLAB中的插值函数为interp1,其调用格式为:yi= spline(x,y,xi),

其中x,y为初始插值点,xi为给定的插值点,yi为在被插值点xi处的插值结果。

2、用法示例

%第一种 单条曲线插值 x=0:0.5:2*pi; y=sin(x); xx=0:0.1:2*pi; yy=spline(x,y,xx); plot(x,y,'o',xx,yy,'-') close % 第二种 多条曲线插值 x=0:0.5:2*pi; y=[sin(x);cos(x)]; xx=0:0.1:2*pi; yy=spline(x,y,xx); plot(x,y,'o',xx,yy,'-') % 第三种 取出插值多项式的系数 x=0:0.5:2*pi; y=sin(x); p=spline(x,y); %返回各个分段插值多项式p的系数 xx=0:0.1:2*pi; yy=ppval(p,xx); %v = ppval(pp,xq) 在查询点 xx 处计算分段多项式 p。 plot(x,y,'o',xx,yy) 

三、pchip 分段三次 Hermite 插值多项式

1、函数简介

其函数使用方法跟以上的类似,我们这里直接上代码。

2、函数代码

%第一种 x=0:0.5:2*pi; y=sin(x); xx=0:0.1:2*pi; yy=pchip(x,y,xx); plot(x,y,'o',xx,yy,'-') % 第二种 取出插值多项式的系数 x=0:0.5:2*pi; y=sin(x); p=pchip(x,y); xx=0:0.1:2*pi; yy=ppval(p,xx); %v = ppval(pp,xq) 在查询点 xx 处计算分段多项式 pp。 plot(x,y,'o',xx,yy)

 

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

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

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


相关推荐

  • 怎么新建pytest的ini文件_pytest conftest.py文件

    怎么新建pytest的ini文件_pytest conftest.py文件前言pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行查看pytest.ini的配置选项pytest-h找到以下

    2022年7月30日
    3
  • Android内核开发 adb查看Linux kernel版本号

    Android内核开发 adb查看Linux kernel版本号Android内核基于Linuxkernel,需要知道Android系统的Linuxkernel版本号,才能对其内核进行编译移植

    2022年8月31日
    0
  • Django(24)永久重定向和临时重定向[通俗易懂]

    Django(24)永久重定向和临时重定向[通俗易懂]重定向重定向分为永久重定向和临时重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面。

    2022年8月7日
    1
  • js动画和css动画_js文件怎么引入html

    js动画和css动画_js文件怎么引入html在做页面中,多数情况下都会遇到页面上做动画效果,我们大部分做动画的时候都是使用框架来做(比如jquery),这里我介绍下如何让通过原生的js来实现像框架一样的动画效果!1、匀速动画效果说明:匀速动画就是动画的效果从开始到结束每次执行的速度都是一致的匀速动画html,body{margin:0;padding:0;}div{margin:0;padding:0;}.odiv{width:200px;…

    2022年10月15日
    0
  • busybox 安装mysql_安装busybox「建议收藏」

    busybox 安装mysql_安装busybox「建议收藏」安装busybox按以下步骤即可:1.root手机2.查看手机支持的cpu架构:cat/system/build.prop|grepabi我手机查出来的结果如下所示:ro.product.cpu.abi=armeabi-v7aro.product.cpu.abi2=armeabi3.下载适合你手机的Busybox,可以直接下载binary文件,地址如下:https://busybox.ne…

    2022年7月25日
    10
  • ym——Android从零开始(9)(ContentProvider内容提供者)(新)

    ym——Android从零开始(9)(ContentProvider内容提供者)(新)ContentProvider内容提供者ContentProvider 进程间通讯,进程间数据的访问/对外共享数据用优点:提供了统一的访问方式原理分析图实现抽象类ContentProvider  安卓应用实现抽象类ContentProvider,并实现对本地数据库增删查改的四个方法,且在清单文件注册该ContentProvid

    2022年6月22日
    28

发表回复

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

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