Matlab:如何使用nlinfit将状态空间模型拟合到数据中

时间:2013-03-20 21:37:41

标签: matlab model state space

我已经进行了一项实验,并希望将状态空间模型拟合到数据中。不幸的是,我对如何实现这一点没什么经验,因此希望能够寻求帮助。

在实验中,参与者可以达到不同的目标。参与者通过屏幕光标接收有关其移动的反馈。此光标显示其到达移动,但旋转30度。这意味着参与者最初会犯很大的错误,但会通过反复练习来减少错误。

以下数据提供了一些说明性结果。每个值代表一个'epoch'(平均八次试验):

  

18.26   13.95   10.92   10.32   8.23   6.57   7.05   5.98   5.99   4.58   4.35   3.72   3.71   3.04   4.47   4.16

我发现一篇论文使用了类似的实验,并且已经将状态空间模型与他们的数据相匹配。该模型由两个方程组成:

  

1)e(n)= p(n) - s(n)+ E(n)2)s(N + 1)= s(n)+ Ae(n)

     

其中e(n)=试验n的错误(即上述值)   p(n)=应用于运动的扰动(即30度)   s(n)=系统的内部状态   E(n)=噪音   A =对扰动的适应率

本文指出他们使用nlinfit matlab函数来实现这个模型,但我不明白我将如何做到这一点。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我现在刚刚看到你的帖子,很久以后,但我一直在寻找自己的问题。

根据经验,我知道如果您有一个想要获得状态空间模型的系统,并且您已经测量了系统的输入和相应的测量输出,那么您可以使用' pem'功能,将根据您的测量结果为您建立状态空间模型。

' pem' function是系统识别工具箱的一部分。