MATLAB系统辨识工具箱学习,详细教程!
- 进入统辨识工具箱主界面
- 进入方式及界面介绍:
- 打开方式:
- 界面介绍:
- 运行程序,加载数据
- 辨识输入信号区域:
- 输入数据预处理:
- 参数辨识
- 系统阶次的选择:
- 模型结构的配置:
- 分析:
进入统辨识工具箱主界面
系统辨识:系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。
进入方式及界面介绍:
结合我的例子数据进行讲解
打开方式:
1、 在命令行窗口输入命令:ident
2、 在APPS选择System Identification(前提是装了控制系统设计与分析工具箱)
界面介绍:
运行程序,加载数据
在matlab中导入excel文件,主页直接点选导入数据,选择想要导入的excel文件即可。
这是matlab导入数据可选的文件格式!
辨识输入信号区域:
这里我们选择时域,
input对应导入到workspace里面的输入数据,output对应导入到workspace里面的输出数据。
之后可以输入导入信号的名称,开始时间和采样时间。
最后点击“import”导入,出现如下效果,点击“Close”关闭。
输入数据预处理:
对输入的信号进行处理,可选多份数据中的一份、合并数据、数据平滑化、滤波、采样等方法。
这里我们选择“Select range”对数据进行处理,前10s进行模型辨识,后10s进行数据验证。
前10s数据用来模型辨识。
后10s数据用来验证
数据预处理的最后一部,
数据回收:将类似图中“mydata”拖到“Trash”,相当于删除功能。
参数辨识
这里我们以状态方程为例,选择“State Space Models”
系统阶次的选择:
之后我们会看到状态方程的配置对话框,如我们知道系统是几阶模型,则选择“Specify value”,后面输入对应的阶数,即可。
假如我们不知系统的阶数,则选择“Pick best value in the range”,系统会自动输出1-10阶对应的方程,同时也会指定最优的解。
模型结构的配置:
如果我们不知道,则默认选择Free。不通的“From”对应不通的数学结构。
最后就是三种不同的估计算法, PEM比N4SID精度更高,N4SID是最简单的方法,一般可满足需求。“Regularized Reduction”是针对离散系统的。前两中是针对连续系统。
然后点击“Estimate”。出现如下。
分析:
可以看出系统的最有解是4阶,前10秒的数据拟合程序为98.15%,但是我们也可以选择其他阶数进行导入。导入后可以发现,在模型辨识结果区域,可以看到,方程已经导出。“ss1”为系统的4阶的状态方程。
双击“ss1”,我们可以看到状态方程的系数已经加载出来,对应的代码实现也已经在下方加载。
我们点击主界面“Model Output”可以看到根据系统辨识出来的4阶模型后10s数据的拟合程度。当然,如果我们选择的精度越高,对应的拟合程度会越好,但是系统阶次过高,系统的复杂程度会更高。
关注我,下一期更新传递函数的讲解!