【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正

欢迎关注,本专栏主要更新MATLAB仿真、界面、基础编程、画图、算法、矩阵处理等操作,拥有丰富的实例练习代码,欢迎订阅该专栏!(等该专栏建设成熟后将开始收费,快快上车吧~~)

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正

控制系统数学模型

这部分主要有一下的几个模块,要给谁根据多项式模型写为零极点增益模型,一个是根据零极点增益模型转换为多项式模型,还有就是传递函数的等效变换,下面是一个例子:

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第1张图片
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第2张图片
对于第一个问题的代码如下:

clc;
clear;
num1 = [2 13];
den1 = [1 2 5];
G1 = tf(num1,den1)
zpG1 = zpk(G1)

num2 = [3 2 8];
den2 =[1 0 3 1 2 0];
G2 = tf(num2,den2)
zpG2 = zpk(G2)

对于第二个问题的代码如下:

clc;
clear;
k1 = 2;
z = [];
p = [-1;-2];
zpG1 = zpk(z,p,k1)
G1 = tf(zpG1)

k2 =13;
z = [0;0;-3];
p=[-5;-7];
zpG2 = zpk(z,p,k2)
G2 = tf(zpG2)

对于第三个问题的代码结果为:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第3张图片
在这里插入图片描述

其代码如下:

clc;
clear;
num1 = [3 4];
den1 = [1 3 0];
G1 = tf(num1,den1)
num2 = [1 3 0];
den2 = [1 31 2 1];
G2 = tf(num2,den2)
%串联
G3 = series(G1,G2)
%并联
G4 = parallel(G1,G2)

%2.单位反馈
k=1;
num3 = [1 1];
den3 = [1 5 6 0];

[num4,den4] = cloop(num3,den3);
G5 = tf(num4,den4)

%3.化简方框图
clear;
num1 = [2 3];
den1 = [5 2 2];
G1 = tf(num1,den1);
num2 = [1 2];
den2 = [1 8.5,4];
G2 = tf(num2,den2);
num3 = [2 6];
den3 = [1 1 8];
G3 = tf(num3,den3);
num4 = [1 4];
den4 = [1 5 5 1];
G4 = tf(num4,den4);

[num12,den12] = series(num1,den1,num2,den2);
[num123,den123] = parallel(num12,den12,num3,den3);
[numG0,denG0] = parallel(num123,den123,num4,den4)
[numGs,denGs] = cloop(numG0,denG0);
G = tf(numGs,denGs)
zplane(numGs,denGs)




时域分析

问题

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第4张图片
对于问题1的代码如下:

clc;
clear;
%拉氏变换
syms s t a w
f1 = t;
f2 = 0.5*t^2;
f3 = exp(-a*t);
f4 = t*exp(-a*t);
f5 = exp(-a*t)*sin(w*t);
f6 = exp(-a*t)*cos(w*t);
Lf1 = laplace(f1)
Lf2 = laplace(f2)
Lf3 = laplace(f3)
Lf4 = laplace(f4)
Lf5 = laplace(f5)
Lf6 = laplace(f6)

第二问的代码如下:

clc;
clear;

syms a s b w
Lf1 = a;
Lf2 = s;
Lf3 = 1/(s+a)*(s+b);
Lf4 = s/(s+a)*(s+b);
Lf5 = 1/(s^2*(s+a));
Lf6 =(s+a)/((s+a)^2+w^2);
Lf7 = w/((s+a)^2+w^2);
f1 = simplify(ilaplace(Lf1))
f2 = simplify(ilaplace(Lf2))
f3 = simplify(ilaplace(Lf3))
f4 = simplify(ilaplace(Lf4))
f5 = simplify(ilaplace(Lf5))
f6 = simplify(ilaplace(Lf6))
f7 = simplify(ilaplace(Lf7))

第三问代码如下:

clc;
clear;

syms s
R = 1/s;
G = (s^2 + 4*s + 6)/(s+1)^3;
C = R*G;
ct = simplify(ilaplace(C))

%2.部分展开法
clear;
syms s
%下面的这个,已经乘单位阶跃响应了
num1 = [1 -2];
den1 = [1 3 3 1 0];
G = tf(num1,den1)
[r,p,k]=residue(num1,den1)
%根据结果知G = 2/s+1 + 2/(s+1)^2 + 3/(s+1)^3 - 2/s;
G = 2/(s+1) + 2/(s+1)^2 + 3/(s+1)^3 - 2/s;
ct = simplify(ilaplace(G))

对于第四问的代码给出下载链接(创作不易,还望海涵)
下载链接

4.标准二阶系统传递函数为
C(s)_
(s)= Ps-s+2Z,s +w
求:
(1)当r(t)=Eu(t),利用拉式逆变换函数求c(t),u(t)为单位阶跃函数;(2)在同一图中绘制在不同参数下的单位阶跃响应。
参数∶E=1(即单位阶跃响应),自然振荡角频率wn=3,阻尼比et=0.1,0.3,0.707,1.2要求:加图题,坐标轴名称,图例(gtext),网格(grid命令)
提示:1)先定义t s E wn et符号变量再构建传递函数;
3)第二问绘制单位阶跃响应时,时间采样点t=0:0.02:10;
4)第二问将参数值带入后求出输出ct,注意点乘的使用,使用plot(t,ct);hold on绘图;
5)带入不同阻尼比参数时,可以使用for循环或者 while循环。
其结果图为:

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第5张图片

一阶系统正弦输入信号输出相应图

1.已知一阶系统传递函数为
G(s)= ’
s+1
输入为正弦信号sin(t),求其输出响应。要求∶输入、输出信号绘制于同一图中,附图例。

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第6张图片
代码下载

结果图如图所示:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第7张图片

分别用游动鼠标法、LTI Viewer和编程法计算系统在单位阶跃响应的指标(超调量、上升时间等)

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第8张图片

文件内容:
在这里插入图片描述
文件下载链接

结果如下:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第9张图片

无误差比例微分环节和有误差比例微分环节系统的单位阶跃响应的超调量、峰值时间、调节时间的对比

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第10张图片
文件下载链接
文件内容:
在这里插入图片描述

其中m4_3.m就是准备系统的,然后打开了LTI view:


clc;
clear;

num1 = [10];
den1 = [1 1 0];

num2 = [2];
den2 = [1 1];
[num1,den1] = cloop(num1,den1);
[num2,den2] = cloop(num2,den2);
G1 = tf(num1,den1);
G2 = tf(num2,den2);
ltiview

视频中给出了LTI view的使用的方式。

系统单位相应的稳态误差

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第11张图片

代码下载链接
实验结果如图所示:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第12张图片

几种典型环节传递函数及其对应的simulink模型

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第13张图片
simulink图如下,直接跟着simulink搭建即可:
或者点击这里直接下载
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第14张图片
仿真结果部分如下:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第15张图片

二阶开环传递函数simulink仿真

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第16张图片
仿真下载链接
仿真如下图所示,跟着搭建就行其实也:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第17张图片
结果所示:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第18张图片

单位负反馈控制系统输入为单位阶跃信号、斜坡信号、加速度信号时系统的稳定性

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第19张图片

仿真下载链接
仿真如下图所示,跟着搭建就行其实也:

【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第20张图片
结果所示:
【MATLAB编程实战】自动控制仿真实验——控制系统数学模型、时域分析、拉普拉斯变换、Simulink、根轨迹分析、频率特性及线性矫正_第21张图片

你可能感兴趣的:(matlab代码应用,matlab,开发语言)