【无标题】

最小二乘法计算运动轨迹(MATLAB STM32)

参考《M3/M4权威指南》中的DSP部分P495,书中采用DSP库中的矩阵计算函数可以预测出物体未来的运动轨迹,这里为了便于理解最小二乘法原理,及矩阵计算过程,采用MATLAB进行验证计算,实际结果与书中轨迹一致
clc

t1 = 0:0.1:5;
t = t1';

x = [7.4213,21.7231,-7.2828,21.2254,20.2221,10.3585,20.3033, ...
29.2690,57.7152,53.6075,22.8209,59.8714,43.1712,38.4436,46.0499, ...
39.8803,41.5188,55.2256,55.1803,55.6495,49.8920,34.8721,50.0859, ...
57.0099,47.3032,50.8975,47.4671,38.0605,41.4790,31.2737,42.9272, ...
24.6954,23.1770,22.9120,3.2977,35.6270,23.7935,12.0286,25.7104, ...
-2.4601,6.7021,1.6804,2.0617,-2.2891,-16.2070,-14.2204,-20.1870, ...
-18.9303,-20.4859,-25.8338,-47.2892]';

a = [ones([length(t) 1]), t, t.^2];
at = a';
%解算运动系数
c = (at*a)\(at);
d = c*x
%验证运动轨迹
x1 = a*d;

figure()
plot(t, x)
hold on
plot(t, x1)
hold off
grid on
xlim([0 5])

初始位移
x0 = d1 = 8.7104
初始速度
v0 =d2 = 38.8748
加速度
a =d3 = -9.7923

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值