MATLAB系统辨识工具箱

2022-07-27 08:57:17 浏览数 (1)

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

1、进入System Identification主界面

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

弹出如下界面

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

2、加载数据

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

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

3、参数辨识

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

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

分析过程报告为

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

4、查看结果

4.1 系统辨识窗口查看

双击tf1,查看辨识结果

4.2 在命令行中查看

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

代码语言:javascript复制
>> 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

0 人点赞