MATLAB 系统辨识 + PID 自动调参

MATLAB 系统辨识 + PID 自动调参

  • Matlab R2021b下载安装详细教程
  • Chapter1 MATLAB 系统辨识 + PID 自动调参
    • 1. 导入数据
    • 2. 系统辨识
    • 3. PID 自动调参
  • Chapter2 MATLAB系统辨识
  • Chapter3 【MATLAB】使用系统辨识工具箱(System Identification)建模
  • Chapter4 matlab系统辨识工具箱及其反向验证
    • 系统辨识工具箱
  • Chapter5 MATLAB系统辨识工具箱学习,详细教程!


Matlab R2021b下载安装详细教程

原文链接

下载链接:https://pan.baidu.com/s/19JbPP2hWlZraVbLuNlHpcg 提取码:6666

下载好的压缩包里有秘钥的txt文件,复制粘贴就好

Chapter1 MATLAB 系统辨识 + PID 自动调参

原文链接

1. 导入数据

1.1 从 Excel 中导入数据
如果不是从Excel中导入可以跳过该步骤

导入函数:

[num,txt,raw]=xlsread('xxx\xxx.xlsx');

um返回的是excel中的数据;txt输出的是文本内容;raw输出的是未处理数据;圆括号是文件所在的路径。

比如有这么一个表,我需要用第一列(综合间隙)作为输出,第四列(电流)作为输入

在这里插入图片描述
我们就需要有两个数组变量来存储上面这两列

clc
clear all
close all% 读入数据
[num,txt,raw]=xlsread('悬浮点数据\悬浮点4数据汇总.xlsx');%输入
input=num(:,4);%输出
output=num(:,1);

一定要运行一下,确保工作区里面有这俩,否则后面导入会报错的
在这里插入图片描述

2. 系统辨识

我们在matlab-》app中找到系统辨识工具箱,或者在命令窗口输入:ident

在这里插入图片描述
一般是选择时域数据,如果是频域就选择下面那个
在这里插入图片描述
之后将1.1节中的变量名打进去,采样时间选一下,最后点 import
在这里插入图片描述
我们点 Time plot 验证一下输入和输出的数据是否有问题
在这里插入图片描述
在这里插入图片描述
确认输入和输出的数据无误后,我们就可以开始进行系统辨识了
一般是用传递函数模型进行辨识
在传递函数辨识界面选择零点个数,极点个数,连续 or 离散,点击 estimate 进行辨识

在这里插入图片描述
训练完成后,在右边的界面处可以看到结果,点击 Model output 查看拟合程度
在这里插入图片描述
拟合度越大越好,最好超过80%及以上是最好的,这边只有79.17,差点意思!
在这里插入图片描述
如果我们想看拟合后的传递函数,可以右键点击图形
在这里插入图片描述

3. PID 自动调参

打开 simulink ,根据上一章得出的传递函数进行模型的搭建
在这里插入图片描述
我们现在肯定不知道怎么调参吧?有些人可能会一个个试过去,但是那样的话非常的耗时间,所以这边利用 PID 模块的一个功能
在这里插入图片描述
在这个界面中,我们可以根据需求调整 pid 响应曲线,最后应用一下即可
在这里插入图片描述
最后运行,在scope里面查看一下
在这里插入图片描述

Chapter2 MATLAB系统辨识

原文链接:https://blog.csdn.net/qq_45159887/article/details/125336181
在这里插入图片描述
最终效果:自动调出PID三项对应的参数,控制效果很不错。

目的:通过matlab,辨识出系统的传递函数,找到最理想的PID参数。

优点:1.节省“盲调PID”的时间。2.在辨识出传递函数后,还可以设计专门的控制器,达到经验调参不能做到的效果,逼近完美。

用到的工具:1.matlab的system identification 和PID tunner app2.simulink。

在使用系统辨识工具箱之前,我们先使用simulink模块生成我们需要的仿真模型以及输入输出数据。

在这里插入图片描述

在这里插入图片描述
搭建完整个仿真模型后,点击simulink模块的绿色开始按钮,即可开始进行仿真。
点击图3中灰色齿轮,打开参数配置界面,点击“Solver”选项,将“Type”选项设置为Fixed-step,同时,将Fixed-step size与输入信号周期一致,这里选取0.02。
在这里插入图片描述
我们将输入信号的周期设定为0.02秒,这里也可以设定为其他值,该周期需要与系统辨识工具箱中的周期匹配,否则会导致系统辨识结果错误。
在这里插入图片描述
搭建完简单的仿真模型之后,我们就可以开始使用Matlab系统辨识工具箱了。

在Matlab命令窗口输入“ident”命令,即可打开系统辨识工具箱。或则点击APP中的system identifaication

在这里插入图片描述
Matlab系统辨识工具箱组成说明。
在这里插入图片描述
首先,我们需要导入需要辨识的输入数据,点击“Import data”按钮,工具箱出现下拉选项,这里我们选择“Time domain data”。
在这里插入图片描述
这里的Input与Output输入框中的名称即为上文中通过Simulink模型仿真生成的输入-输出信号对应的工作区中的变量名称。Samping interval即为采样间隔,该值需与上文Simulink仿真模型中的信号仿真步长一致,否则,会导致辨识结果出现偏差。将参数配置完成后,点击“Import”按钮,结束输入信号的导入。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
输入信号预处理选项,其中包括滤波器、数据转换等功能。
在这里插入图片描述
模型辨识设置,这里选择过程模型。
过程模型参数配置,这里选择无零点、无时延无积分环节的一阶系统模型作为待辨识模型,配置完参数后,勾选“Display Progress”按钮,点击“Estimate”按钮开始进行辨识。

在这里插入图片描述
过程模型辨识结果,左边对话框显示了模型辨识精度及相对误差。
双击右边对话框中的辨识模型结果P1,弹出如下对话框,由图可知,Kp = 1,Tp1 = 1,与上文中Simulink仿真模型中的传递函数参数吻合,至此,完成了整个简单的系统辨识工具箱的使用流程。
在这里插入图片描述

Chapter3 【MATLAB】使用系统辨识工具箱(System Identification)建模

原文链接

Chapter4 matlab系统辨识工具箱及其反向验证

原文链接:https://blog.csdn.net/m0_66861238/article/details/130077760

系统辨识工具箱

什么时候使用系统辨识,当系统传递函数不确定(在多大程度上不确定?)时,通过对输入输出数据采集,通过数学迭代找到控制对象的近似模型。在找到近似模型(传递函数)后,就可以使用线性化调参工具对系统控制参数进行整定,进行控制系统设计。

调用命令:systemIdentification

一般过程:

将数据数组从matlab工作区导入程序;

绘制数据;

数据归一化;

估计、验证、 线性模型;

模型导出到工作区

Chapter5 MATLAB系统辨识工具箱学习,详细教程!

原文链接:https://blog.csdn.net/tzlaa/article/details/113575724

进入统辨识工具箱主界面
系统辨识:系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。

进入方式及界面介绍:
结合我的例子数据进行讲解

打开方式:
1、 在命令行窗口输入命令:ident

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/278712.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Spring Boot 中发送邮件简单实现

Spring Boot 对于发送邮件这种常用功能也提供了开箱即用的 Starter:spring-boot-starter-mail。 通过这个 starter,只需要简单的几行配置就可以在 Spring Boot 中实现邮件发送,可用于发送验证码、账户激活等等业务场景。 本文将通过实际的案…

从根上理解elasticsearch(lucene)查询原理(2)-lucene常见查询类型原理分析

大家好,我是蓝胖子,在上一节我提到要想彻底搞懂elasticsearch 慢查询的原因,必须搞懂lucene的查询原理,所以在上一节我分析了lucene查询的整体流程,除此以外,还必须要搞懂各种查询类型内部是如何工作&#…

【1.6计算机组成与体系结构】存储系统

目录 1.层次化存储结构2.Cache2.1 Cache的介绍2.2 局部性原理2.3 Cache应用 1.层次化存储结构 由 ⬆ CPU:寄存器。 快 ⬆ Cache:按内容存取(相联存储器)。 到 ⬆内存(主存):DRAM。 慢 ⬆ 外存(辅存&#…

【网络安全】网络防护之旅 - 非对称密钥体制的解密挑战

🌈个人主页:Sarapines Programmer🔥 系列专栏:《网络安全之道 | 数字征程》⏰墨香寄清辞:千里传信如电光,密码奥妙似仙方。 挑战黑暗剑拔弩张,网络战场誓守长。 目录 😈1. 初识网络安…

FC-13A(用于汽车应用的kHz范围晶体单元,低轮廓贴片)

FC-13A晶体非常适合用在汽车导航系统设计中的应用,是一种具有优异的频率性能和AEC-Q200标准认证的汽车工业级高精度晶体,FC-13A是一款尺寸为3.2 1.5 0.9mm,频率范围32.768KHz耐高温晶振,频率温度系数仅为-0.04ppm/℃,并且其老化…

【Android】MVC与MVP的区别,MVP网络请求实践

一、MVC模式 目录 一、MVC模式二、MVP模式 1、MVP的简单应用 1.1 导入相关依赖包并设置权限1.2 实现Model1.2 实现Presenter1.3 实现View1.4分析项目结构和绑定过程1.5效果展示 2、MVP结合RxJava 一、MVC模式 MVC(Model(模型)——View(视图)——Controller(控制…

初识Redis缓存,一文掌握Redis重要知识文集。

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

航带模式拍完之后用重建大师跑出来的模型是弧形的,怎么处理?

答:空三设置-更多设置-定位方式中选择pos高精度,再跑一下看看。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件,输入倾斜照片,激光点云,POS信息及像控点,输出高精度彩色网格模型&a…

uniGUI之上传文件UniFileUploadButton

TUniFileUploadButton主要属性: Filter: 文件类型过滤,有图片image/* audio/* video/*三种过滤 MaxAllowedSize: 设置文件最大上传尺寸; Message:标题以及消息文本,可翻译成中文 TUniFileUploadButton控件 支持多…

Pearson、Spearman 相关性分析使用

介绍 Pearson 积差相关系数衡量了两个定量变量之间的线性相关程度。 用来衡量两个数据集的线性相关程度,仅当一个变量的变化与另一个变量的比例变化相关时,关系才是线性的。 Spearman等级相关系数则衡量分级定序变量之间的相关程度。斯皮尔曼相关系数不…

从“原神“出知名题,谈面试最佳实践

写在前面 这是一道经典到几乎每个人(刷题量超过 200)都见过的 Hard 题。 即使在算法内卷到"网络流"都会考的今年,也还是各大互联网的最爱(或是面试官脑内题库没有更新 🤣 据同学们反映,在 抖音提…

【CDP】CDP 集群通过Knox 访问Yarn Web UI,无法跳转到Flink Web UI 问题解决

一、前言 记录下在CDP 环境中,通过Knox 访问Yarn Web UI,无法跳转到Flink Web UI 的BUG 解决方法。 二、问题复现 登录 Knox Web UI 找到任一 Flink 任务 点击 ApplicationMaster 跳转 Flink WEB UI 出问题 内容空白,无法正常跳转到…