MATLAB与自动控制原理

article/2025/5/19 19:36:00

MATLAB在自动控制原理中的应用

传递函数

1、利用matlab构建传递函数
例:G(s)=(s+1)/(s^2+5s+6)

%% 方法一
G_s = tf([1 1],[1 5 6])%% 方法二
s = tf('s')
G_s1 = (s+1)/(s^2+5*s+6)

在这里插入图片描述
在这里插入图片描述
2、搭建闭环传递函数
例:在这里插入图片描述
第一步:利用MATLAB构建各个部分的传递函数:
engine:

sys_engine = tf([1],[0.02 0.2]);
sys_acturator = tf([0.1],[0.5 2]);
system = sys_engine*sys_acturator;
%%方法二
system = series(sys_engine,sys_acturator);
s = tf('s');
sys_ctrl = 1/s; %积分控制器
%系统的开环传递函数
system_ol = sys_ctrl*system;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步:搭建闭环传递函数

%系统的闭环传递函数
%方法一:
system_clo = system_ol/(1+system_ol);
%化简:
minreal(system_clo);
%方法二
system_cl_k1 = feedback(system_ol,1); %反馈函数可以换成H(S)

在这里插入图片描述
3、输出响应
阶跃响应:函数step(闭环系统)

step(system_cl_k1);

在这里插入图片描述
伯德图:bode(闭环系统):
打开栅格:grid on

bode(system_cl_k1);
grid on

在这里插入图片描述
乃氏图:nyquist(闭环系统):
在这里插入图片描述
根轨迹图:rlocus(开环系统)

rlocus(system_ol);
%打开栅格
sgrid
%或者
grid on
%打开根轨迹编辑器
rltool(system_ol);

在这里插入图片描述
在这里插入图片描述
4、对比不同控制器的输出响应

sys_ctrl = 5/s;
system_ol_5 = sys_ctrl*system;
system_cl_k5 = feedback(system_ol,1);

当有两种不同的输出响应时
打开MATLAB中APP中的Linear System Analyzer
在这里插入图片描述
导入数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

状态空间方程

在这里插入图片描述
1、MATLAB中的状态空间方程及能控性能观性判断
传递函数中系统是可控可观的,状态空间方程的可控可观需要进行判断

%% 判断系统的能控性质
clc
clear
%线性定常连续系统:dx=Ax+Bu
%状态完全能控的充分必要条件:rank(Uc)=n
% Uc = [B AB .....A(n-1)B]
%例
%输入系统矩阵
A = [1 2 1;0 1 0;1 0 3];
B = [1 0;0 1;0 0];
%求解矩阵Uc
Uc = [B A*B A^2*B];
%求解矩阵Uc的秩
rank(Uc)%% 判断系统的状态能控性和输出能控性
% rank(Uc)=n
% 判断系统的状态能控性
A = [-4 1;2 -3];
B = [1;2];
Uc = [B A*B];
% 函数ctrb,计算可控性矩阵
uc = ctrb(A,B);
rank(Uc)% 判断系统的输出能控性
% rank(Uco)=q q为输出个数
C = [1 0];
Uco = [C*B C*A*B];
rank(Uco)%% 判断系统的能观性
%rank(U0)=n
% 输入系统矩阵
A = [0 1 0 0;3 0 0 2;0 0 0 1;0 -2 0 0];
B = [0;1;0;0];
C = [1 0 0 0];
D = 0;
% 求矩阵U0
U0 = [C;C*A;C*A^2;C*A^3];
% 求矩阵U0的秩
rank(U0)

以能控性为例:
在这里插入图片描述

2、MATLAB构建状态空间方程及输出

A = [0 1;-2 -3];
B = [0;1];
C = [1 0];
D = 0;
sys = ss(A,B,C,D);
%阶跃响应
step(sys);
%伯德图
bode(sys);
%乃氏图
nyquist(sys);

在这里插入图片描述

状态空间方程与传递函数之间的转换

以上面的数据为例
1、状态空间模型转换为传递函数

system = tf(sys)

在这里插入图片描述
2、传递函数转换为状态空间

ss(system)

在这里插入图片描述

MATLAB构建离散系统

配置一个离散系统,采样时间为0.1

sys_ls = tf([0 1],[2 3],'Ts',0.1)

在这里插入图片描述

MATLAB离散系统与连续系统的转换

相关概念见离散化资料
零阶保持器转换

c2d(system,0.01,'zoh')

在这里插入图片描述
一阶保持器转换

 c2d(system,0.01,'foh')

在这里插入图片描述
双线性变换

 c2d(system,0.01,'tustin')

在这里插入图片描述
离散系统转换成连续系统(由于连续转离散有些参数丢失,因此离散转连续时不能完全与连续一样,只能近似)

d2c(ans)

在这里插入图片描述
状态空间方程如何离散化?????

利用MATLAB对控制系统进行仿真

1、以某个系统为例

system = tf([1],[1 3 2])
% lsim输入有三部分:系统,输入向量,输入时间
lsim(system,[1;1;2;2;3;3],[0:0.1:0.5])

在这里插入图片描述
2、直接编写系统函数并用求解器进行系统求解
脚本函数

function dx = mysystem(t,x) %输入第一个向量必须是时间,第二个为状态向量,假设x为二维向量
dx = [0;0];
dx(1) = x(2);
dx(2) = -x(1);end

命令行窗口调用求解

ode45(@mysystem,[0 10],[1;2]) %括号内变量为函数句柄(调用函数,仿真时间,初始状态),出图
[t,y] = ode45(@mysystem,[0 10],[1;2]) %不绘制图形,直接输出数据(时间和状态变量)

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/Qg5rm3RL.shtml

相关文章

【UAV】串级 PID 控制原理及应用

文章目录 简介实现过程单级 PID串级 PID 三个问题Ref: 简介 什么是串级PID?顾名思义就是两个串起来的PID,下面是一个双闭环的例子,外环是位置(角度)环,内环是速度(角速度&#xff0…

PID控制原理基本介绍(图解)

PID控制原理基本介绍(图解) 这里先以一个阶跃响应做图解说明: 如下图所示,目标值设定为单位1,随着我们逐渐增大比例系数Kp,可以看到系统相应速度逐渐加快,但是始终存在稳态误差, 如下图所示,引入积分环节后,随着积分控制系数Ki逐渐加大,误差逐渐减小,并最终达…

自动控制原理 (二): 控制系统的微分方程

要进一步研究一个自动控制系统, 就需要建立系统的数学模型来描述一个系统。 所谓数学模型, 就是描述系统输入、 输出变量以及内部各变量之间关系的数学表达式。 常用微分方程来描述系统各变量的动态关系。 建立微分方程的步骤如下: 分析各元…

自动控制原理 (一): 基础概念

自动控制系统, 是指能够完成自动控制任务的设备; 而自动控制任务是指在没有人的参与下, 利用控制装置操纵被控对象, 使被控量等于给定值。 一个自控系统一般包括被控对象和控制器。 自动控制系统 有如下概念: 控制&…

【自动控制原理】控制系统数学模型

目录 一、控制系统数学模型1.1 数学模型概述1.2 时域、复域、频域下的常见数学模型举例1.3 时域微分方程建模示例一1.4 时域微分方程建模示例二1.5 线性系统特性1.6 运动模态 二、线性系统复域数学模型2.1 传递函数2.1.1 传递函数2.1.2 推导2.1.3 Matlab写连续传递函数的方式2.…

自动控制原理知识点梳理——1. 自动控制的一般概念 2. 控制系统的数学模型

目录 1. 自动控制的一般概念 1.1知识梳理&逻辑图 2. 控制系统的数学模型 2.1知识梳理&逻辑图 2.2补充内容 2.2.1传递函数的零点和极点 2.2.2典型环节及其传递函数 2.2.3相同的特征多项式和开环传递函数定义 2.2.4由结构图得传递函数 2.2.5拉氏变换知识回顾 1…

第2章-系统控制原理 -> 经典控制理论

第1章-多智能体系统回到目录第2章-系统控制原理 -> 线性系统状态空间 文章目录 2 系统控制原理2.1 经典控制理论2.1.2 连续系统求解定义 2.1 [拉普拉斯变换]定义 2.2 [传递函数 transfer function]定义 2.3 [零点 zeros、极点 poles]例题 2.1 2.1.3 线性离散系统2.1…

【经典控制理论】| 自动控制原理知识点概要(上)

参考资料 胡寿松《自动控制原理》第6版刘豹《现代控制理论》第3版斐润《自动控制原理》哈工大控制学科803考研资料 前言 对于控制工程专业的我来说,经典控制理论是很重要的,因此趁着参加秋招这个档口,顺便复习下学过的控制理论。希望也能对…

DMA控制器原理详解

目录 工作原理 DMA硬件架构 DMA通道的作用 DMA寄存器 DMA出现的目的 工作原理 DMA全拼Direct Memory Access(直接内存存取),在传统的CPU存取数据时会先将数据放到缓存寄存器中然后在写入到指定位置 CPU存取数据流程图: CPU…

自动控制原理8.1---非线性控制系统概述

参考书籍:《自动控制原理》(第七版).胡寿松主编. 《自动控制原理PDF版下载》 1.非线性控制系统概述 1.1 研究非线性控制理论的意义 当系统中含有一个或多个具有非线性特性的元件时,该系统称为非线性系统; 随动系统实例说明: …

【经典控制理论】| 自动控制原理知识点概要(下)

参考资料 胡寿松《自动控制原理》第6版刘豹《现代控制理论》第3版斐润《自动控制原理》哈工大控制学科803考研资料 前文 【经典控制理论】| 自动控制原理知识点概要(上) 6. 线性系统的校正 6.1 综合和校正问题的提出 控制系统的综合和校正问题是在已知…

交流异步电机矢量控制(二)——矢量控制原理

前言:在前面梳理完电机数学模型和坐标变换的知识后,下一步就是对矢量控制系统的建立,矢量控制系统重在于其思想框架的理解以及异步电机独有多种磁场定向方案之间的区别,这两个问题都是值得独立探究的,按照顺序来。 本…

自动控制原理(一)

目录 一阶系统1.数学模型2.单位阶跃响应3.特性分析4.典型实例 二阶系统1.数学模型2.单位阶跃响应3.暂态响应的定量分析指标 高阶系统自动控制系统稳定性参考资料 一阶系统 1.数学模型 系统闭环传递函数入下图: 开环传函:积分环节 闭环传函:惯性环节 …

【知识点总结】自动控制原理(自控)

自动控制原理 总结内容: 内容包括: 控制系统的时域数学模型、控制系统的复数域数学模型、控制系统的结构图与信号流图、梅逊公式 、闭环系统传递函数、线性系统的时域分析法、一阶系统的时域分析、系统时间响应的性能指标、二阶系统的时域分析、线性系统…

通俗易懂的自动控制原理 # 绪论

1 自动控制系统的基本原理 1.1 引入以及定义 诸如:神舟10号发射升空、战斧式巡航导弹、装配机器人、自动泊车系统等其中都应用了自动控制的相关理论和技术。 什么是控制? 控制 - 使某个(某些)量按一定的规律变化某个&#xff0…

自动控制原理(来自于b站的笔记整理,深入理解自动控制框架)

一、自动控制原理 1 文章目录 一、自动控制原理 [^1]1. 控制原理1.1 开环与闭环系统1.2 稳定性分析[^2]1.3 一起燃烧卡路里/科学减肥(系统分析实例_数学建模部分)1.4 终值定理与稳态误差[^3]1)比例控制2)比例积分控制 1.5 根轨迹1…

《自动控制原理》个人笔记(来自ppt课件)

控制的含义 控制(CONTROL)----某个主体使某个客体按照一定的目的动作。 主体–人:人工控制; 机器:自动控制 客体–指一件物体,一套装置,一个物化过程,一个特定系统。 人工控制与自…

4. 吴恩达深度学习--优化算法

本文主要参考了 严宽 大神的学习笔记,并在其基础上补充了一点内容,点此查看原文。   本文所使用的资料已上传到百度网盘【点击下载】,提取码:hnwl ,请在开始之前下载好所需资料。   到目前为止,哦我们始…

吴恩达深度学习课程第二章第三周编程作业(pytorch实现)

文章目录 声明一、问题描述二、编程实现1.加载数据集2.使用mini-batch3.利用pytorch搭建神经网络3.1 利用torch.nn简单封装模型3.2 定义优化算法和损失函数 4.整体代码 声明 本博客只是记录一下本人在深度学习过程中的学习笔记和编程经验,大部分代码是参考了【中文】…

吴恩达深度学习L4W4人脸识别

1、One-shot learning 人脸识别往往每个人只有一张照片,因此不应该用卷积神经网络配合softmax训练。 应该选择学习 Similarity 函数。详细地说,你想要神经网络学习这样一个用𝑑表示的函数,𝑑(𝑖&#x1d45…