我最近正在做一个项目,为虚拟环境中的预测头部运动设计一个模拟系统。然而,我完全混淆了如何使用像线性回归这样的简单算法来预测头部运动,假设我创建了正弦信号作为原始头部运动。
我的想法是:从数据库中取每10分,并在oder中进行线性回归以获得下一个预测的第10个点并将其存储在新数组中。我的代码如下(这是不正确的):
for i=1:(length(tout)-10)
for j=1:(length(tout)-20)
x=tout(i:i+10);
y=theta_h(i:i+10);
p=polyfit(x,y,1);
yfit=polyval(p,x);
%calculate predicted point after 10 samples;
predict=@(x) p(1)*x+p(2);
theta_c(:,j)=predict(x(i+20,:));
i=i+1;
j=j+1;
end
end