经典算法之的最小二乘

基于最小二乘法二阶拟合一维数据

工程实践中,很多量测数据的波形存在丢帧,尖凸,噪声。直接使用该量测数据,就不可避免的带来抖动,震荡甚至是发散。因此对数据滤波就十分必要。此处介绍一种对一维量测数据滤波,徒手计算二阶拟合参数的方法,最小二乘法。方法出处,见附录论文。

幂级数二阶拟合和对应参数变量

二阶拟合公式 y i = α + φ ∗ x i + ξ ∗ x i 2 y{i} = α + φ*x{i} + ξ*x{i}^2 yi=α+φxi+ξxi2 其中 i = 1 、 2 、 3.... n i=1、2、3....n i=123....n
中间变量 b 、 c 、 d 、 e 、 f 、 g 、 h b、c、d、e、f、g、h bcdefgh计算如下:

Σ x i = b , Σ y i = c , Σ x i 2 = d , Σ x i ⋅ y i = e , Σ x i 3 = f , Σ x i 4 = g , Σ x i 2 ⋅ y i = h Σ xi=b, Σ yi=c, Σxi^2 =d, Σ xi·yi=e, Σxi^3=f, Σxi^4=g, Σxi^2·yi=h ΣxibΣyicΣxi2dΣxiyieΣxi3fΣxi4gΣxi2yih
由上面的中间计算值,进而求出二阶拟合公式的系数 α 、 φ 、 ξ α、φ、ξ αφξ
在这里插入图片描述
其中,n表示 x x x的维数。

高阶拟合中关键矩阵

高阶拟合中的推导矩阵如下所示,其中左侧系数矩阵经转化后能够移到右侧。
在这里插入图片描述
若将上述矩阵简化(对 x i xi xi有非零要求),可得如下矩阵。
在这里插入图片描述

同样的方法,将上述第二个矩阵简化后就会得到系数 a 0 、 a 1 、 a 2... a n a0、a1、a2...an a0a1a2...an。进而得到拟合函数 y = a 0 + a 1 ∗ x + a 2 ∗ x 2 . . . a n ∗ x n y = a0+a1*x+a2*x^2...an*x^n y=a0+a1x+a2x2...anxn

二阶拟合温度曲线实例

在这里插入图片描述

matlab示例代码

add you code here 

C示例代码

add you code here 

python示例代码

add you code here 

附录:

[01] 最小二乘法曲线拟合及优化算法研究 《工业控制计算机》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值