cubic差值matlab,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('三次多项式插值')
(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处的值
本文同步分享在 博客“风翼冰舟”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
cubic差值matlab,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); ...
- matlab自带的插值函数interp1的几种插值方法
插值法 插值法又称"内插法",是利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方法称为插值法 ...
- 交换两个变量的值,不使用第三个变量的四种法方
交换两个变量的值,不使用第三个变量的四种法方 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; int t; t=a; a= ...
- 单一修改高程值lisp_浅谈AutoCAD中修改高程的四种方法
浅谈 AutoCAD 中修改高程的四种方法 摘 要: 在使用 AutoCAD 进行数字化成图工作中,经常遇到线划的标高不为零,及高程点的值与实地不符,需要对其进行修改等情况,结合实 际工作经验,简单介 ...
- 交换两个变量的值,不使用第三个变量的四种方法
2019独角兽企业重金招聘Python工程师标准>>> 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; ...
- matlab用牛顿差值计算三次差值多项式,计算方法用Newton插值多项式求函数的近似值.docx...
计算方法用Newton插值多项式求函数的近似值 计算方法课程设计题 目: 用Newton插值多项式 处理磁化曲线学 院: 理学院班 级: 学 生 姓 名: 学 生 学 号: 指 导 教 师: 2017 ...
- matlab 四种取整函数(fix floor ceil round)的区别
Matlab取整函数有: fix, floor, ceil, round四种,具体使用方法如下: (1) fix 朝零方向取整 如 fix(-1.3)=-1 fix(1.3)=1; (2) floor ...
- 计算机求差值公式,excel怎么求差值 excel减法公式使用教程
在ecxel表格中处理数据时,我们经常会用到加减乘除的公式,本文主要便是为大家讲述excel求差值的使用,那么大家知道有几种求差值的方法?下面小编为大家介绍两种快速求差值的方法,不懂的朋友可以多看几遍 ...
- Matlab图形(Figure)中使用差值光标提取数据
0. 原由 示波器中常用差值光标,用于捕捉曲线中的特征点,并计算出特征点之间的坐标差值. 差值光标在分析图形数据时很有用.可惜在Matlab的Figure工具栏中并没有提供,自带的数据提取功能似乎不如 ...
最新文章
- 尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版(二)
- SAP Cloud for Customer的duplicate check最后是通过什么模型实现的
- cmd下pip安装mysql_Windows下使用pip安装mysql-python
- 【Spring Cloud】网关-gateway(2.x)
- java printf
- 迷你MVVM框架 avalonjs 0.71发布
- mysql8 create table 语法错误_MySQL8.0 Window Function 剖析
- 【Codeforces Round #585 (Div. 2) E】Marbles【状压DP】
- 德鲁克对管理学的贡献
- matlab 相位谱是直线,matlab幅度谱和相位谱
- Java、LotusScript和JavaScript中的自定义事件编程
- 当游戏遇上电视,智能大屏就能讲出新故事?
- word 文档密码 html,Word文档密码解决打开方法
- 计算机网络的雏形为,计算机网络的发展雏形是什么(图文)
- android刮刮乐游戏布局,Android实现 刮刮乐效果
- 翻译如重构,期待您的单元测试
- 前端 导出二进制流文件
- 稿定科技内推|稿定让设计更简单,只要你来,稿定就能给你无限可能
- 计算机游戏中屏幕上显示的,计算机显示器选择弧形屏幕还是直接屏幕?主游戏...
- html自动移动滚动条,css如何实现div随滚动条移动?
热门文章
- redis 分页_Redis排行榜的设计与实现
- 格式化代码php,格式化php代码的两种方法
- 基于GPU的粒子系统
- {ubuntu}不能挂载windows
- pcDuino上跑 MQ2 Shield
- 面试题9:斐波那契数列
- 【手机】Windows Mobile手机软件安装卸载方法
- oracle中srv添加监听服务,Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务...
- 机器人最大的人类士人禾力积木_奇妙的机器人世界15(二)
- RocketMQ的各种集群模式的搭建和消息可靠性保证和服务可用性描述