type
status
date
slug
summary
tags
category
icon
password
Property
一元多项式拟合:polyfit()
使用
polyfit(x, y, n)
函数对数据x
和y
进行n
次多项式拟合.多元线性拟合:regress()
使用
regress(y, X)
函数对数据X
和y
进行多元线性回归.非线性拟合
对于非线性拟合,需要使用曲线拟合工具箱.在命令窗口输入
cftool()
打开曲线拟合工具箱.一维插值
下列函数均与一维插值有关:
下面例子演示使用
interp1(x, v, xq)
进行线性插值和使用spline(x, v, xq)
进行三次样条插值.各参数意义如下:x
v
: 待插值样本点.
xq
: 查询点,函数返回在这些点处的插值结果.
三次样条插值的原理在每两个样本点之间用两两相切的三次函数曲线来插值.若
spline()
方法不指定查询点,则返回一个结构体,其中封装了插值三次函数的系数.使用mkpp(breaks, coefs)
可以创建一个类似的结构体,使用ppval(pp, xq)
可以计算查询点的插值结果.使用
pchip(x, y, xq)
函数可以进行三次Hermite插值,该算法同样以三次函数进行插值,但得到的曲线更平缓.二维插值
使用
interp2()
可以进行二维插值,向其method
参数传入字符串可以指定插值算法.方法 | 说明 | 连续性 |
'linear' | (默认)在查询点插入的值基于各维中邻点网格点处数值的线性插值. | C0 |
'spline' | 在查询点插入的值基于各维中邻点网格点处数值的三次插值.插值基于使用非结终止条件的三次样条. | C2 |
'nearest' | 在查询点插入的值是距样本网格点最近的值. | 不连续 |
'cubic' | 在查询点插入的值基于各维中邻点网格点处数值的三次插值.插值基于三次卷积. | C1 |
'makima' | 修改后的Akima三次Hermite插值.在查询点插入的值基于次数最大为3的多项式的分段函数,使用各维中相邻网格点的值进行计算.为防过冲,已改进 Akima 公式. | C1 |