MATLAB系统辨识工具箱
  NTGlKyq7MwNU 2023年11月19日 24 0

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

🍎个人主页:算法工程师的学习日志


群友咨询了一个问题,通过实验测得系统的响应结果,如果获取到系统的传递函数,这个问题可以通过MATLAB系统辨识工具箱求解


1、进入System Identification主界面

打开APP栏的系统辨识工具箱,

MATLAB系统辨识工具箱_工作区


弹出如下界面

MATLAB系统辨识工具箱_MATLAB_02


然后点击import data,选择加载类型为时域类型

MATLAB系统辨识工具箱_MATLAB_03


2、加载数据

导入采集的实验数据,从工作区直接拖拽相应的变量到Input和Output

MATLAB系统辨识工具箱_MATLAB_04


点击Import按钮,成功加入需要辨识的一组数据,加载成功之后的数据如图:

MATLAB系统辨识工具箱_传递函数_05


3、参数辨识

点击Estimate,选择需要辨识的系统模型的结构,这里选择Transfer Function Models传递函数模型

MATLAB系统辨识工具箱_MATLAB_06


在弹出的传递函数选项中,设置零点和极点个数,取消勾选Time delay中的Fixed,这样就可以自动辨识时间延迟。设置完毕之后,点击Estimate按钮,开始分析

MATLAB系统辨识工具箱_工作区_07


分析过程报告为

MATLAB系统辨识工具箱_工作区_08

此时,右侧的模型窗口出现了辨识的tf1,拖拽到MATLAB中的工作区workspace

MATLAB系统辨识工具箱_传递函数_09



4、查看结果

4.1 系统辨识窗口查看

双击tf1,查看辨识结果

MATLAB系统辨识工具箱_MATLAB_10


4.2 在命令行中查看

将辨识出的结果拖拽到MATLAB工作区之后,在命令行窗口输入tf1

>> tf1


tf1 =
 
  From input "u1" to output "y1":
          0.0004659
  --------------------------
  s^2 + 0.01101 s + 0.000881
 
Name: tf1
Continuous-time identified transfer function.


Parameterization:
   Number of poles: 2   Number of zeros: 0
   Number of free coefficients: 3
   Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.


Status:                                            
Estimated using TFEST on time domain data "mydata".
Fit to estimation data: 91.97% (stability enforced)
FPE: 0.000165, MSE: 0.0001535
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

NTGlKyq7MwNU