模型辨识--MATLAB模型辨识工具箱的使用

作者:天下行走
链接:https://zhuanlan.zhihu.com/p/671673739
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

假设你有一个系统,你想通过系统辨识的方式得到系统模型,系统辨识需要你的目标系统的输入和输出数据。对于控制系统,可以选择在你的建模区间内扫频,同时采集输入输出(注意要固定采样周期,也就是说代码中不要放到while循环里去采,可以通过定时器中断等),进而即可导入到MATLAB中进行系统参数辨识。数据采集非本文重点因此不做过多赘述。
  1. 拿出已经采集好的输入输出数据(此处我采集的输入为期望速度,输出为实际速度。

2. 将采集的数据,导入到matlab工作空间中。

3. 在matlab顶部栏,点击APP,找到并点击System Identification。进入模型辨识界面。

4. 在模型辨识界面,在Import下拉菜单中,选择时域(Time domain data)。

5. 将工作空间中的输入变量与输出变量导入进来(输入工作空间中对应的变量名即可),以及采样周期。

6. 导入数据后,选择你想用的模型形式(传函、状态空间等),这里选传递函数。

7. 选择极点个数与零点个数、连续系统或离散系统。这里选3个极点与1个零点,同时选择连续时间。选择完毕后点击Estimate。

8. 得到辨识出的系统模型,双击查看模型参数。同时也可以查看系统的阶跃响应、零极点参数、频域指标等。

9. 下滑查看数据拟合度,若拟合度过低,则拟合出的该模型的可信程度低。

总结

        本文给出了MATLAB的系统辨识工具箱的基础使用方法。值得注意的是,顾名思义,工具箱仅仅只是一个工具,具体的应用场景取决于你的需求,因此对于不同的需求,使用方法和细节也不是完全一致的;同时对于不同的系统,零极点的选择也是不一致的,这取决于你的系统特性,考验的是你对系统的理解和设计方法。OK,只啰嗦这么多。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值