《MATLAB基础与控制系统CAD》仿真作业

合集下载

二阶弹簧-阻尼系统PID参数整定《控制系统仿真与CAD》MATLAB版

二阶弹簧-阻尼系统PID参数整定《控制系统仿真与CAD》MATLAB版

《控制系统仿真与CAD》大作业一、提交内容和评分标准1、大作业word文档(.doc格式),包括:每道题目的程序(有必要的注释)、程序运行结果、结果分析。

此项占大作业成绩的50%。

2、5分钟的汇报视频文件(.mp4格式),汇报视频需用EV录屏软件(EVCapture,学习通“资料”栏目里可下载)录制,用这个软件对着程序讲解,录成一个mp4视频文件(打开录屏软件,点击开始录制,打开程序,对着麦克风说话,可以随时停止,结束后自动生成视频文件)。

此项占大作业成绩的50%。

二、提交协议(非常重要!)1、截至时间:2020年6月17日(周三)晚上20点。

2、提交方式:学习通“作业”栏目里,文件夹命名为学号_姓名(比如201710230001_张三),文件夹中需包括大作业word文档(.doc格式),汇报视频文件(.mp4格式),word文档和汇报视频文件命名与文件夹一样。

三、注意事项1、两人雷同分数/2,三人雷同/3,以此类推。

2、没有做任何修改将例题、平时作业或阶段练习程序交上来,分数为0。

四、题目:以下四道题,任选一题完成,尽可能使用本课程学习的各种函数和分析方法。

选题一:二阶弹簧—阻尼系统的PID控制器设计及参数整定考虑弹簧-阻尼系统如图1所示,其被控对象为二阶环节,传递函数()G s如下,参数为M=1kg,b=2N.s/m,k=25N/m,()1F s 。

设计要求:用.m文件和simulink模型完成(1)控制器为P控制器时,改变比例系数大小,分析其对系统性能的影响并绘制相应曲线。

(2)控制器为PI控制器时,改变积分系数大小,分析其对系统性能的影响并绘制相应曲线。

(例如当Kp=50时,改变积分系数大小)(3)设计PID控制器,选定合适的控制器参数,使闭环系统阶跃响应曲线的超调量σ%<20%,过渡过程时间Ts<2s, 并绘制相应曲线。

图1 弹簧-阻尼系统示意图弹簧-阻尼系统的微分方程和传递函数为: F kx x b x M =++&&& 25211)()()(22++=++==s s k bs Ms s F s X s G图2 闭环控制系统结构图选题二:Bode 图法设计串联校正装置考虑一个单位负反馈控制系统,其前向通道传递函数为:()(1)(4)o K G s s s s =++ 设计要求:1、分析校正前系统的性能及指标2、应用Bode 图法设计一个串联校正装置()c G s ,使得校正后系统的静态速度误差系数110v K s -=,相角裕量50r =o ,幅值裕量10g K dB ≥。

《控制系统CAD与仿真-MATLAB语言及应用》,MATLAB程序设计教程

《控制系统CAD与仿真-MATLAB语言及应用》,MATLAB程序设计教程

⑤语法限制不严格,程序设计自由度大。
例如:在 Matlab 里可以不用先定义或声明变量就可以使用它改就可以移植到其它的机型和操作系统中运行。
2
⑦Matlab 的图形功能强大,支持数据的可视化操作,方便的显示程序的运行结果。 ⑧强大的工具箱。 Matlab 包含两个部分:核心部分和各种可选的工具箱。核心部分有几百个核心内部函 数,工具箱则是有各个领域的高水平专家编写的,所以用户不必编写该领域的基础程序就 可以直接进行更高层次的研究。例如:控制领域可以使用的工具箱就有 Control System (控制工具箱)、System Identification(系统辨识工具箱)、Robust Control(鲁棒控 制工具箱)、Optimization(最优化工具箱)等。 ⑨源程序的开发性,系统的可扩充能力强。 除了内部函数外,所有的 Matlab 核心文件和工具箱文件都提供了 Matlab 源文件,用 户可通过对源文件的修改生成自己所需要的工具箱。 ⑩Matlab 是解释执行语言。 Matlab 程序不用编译生成可执行文件就可以运行,解释执行时程序的执行速度较慢, 效率比 C 等高级语言要低,而且无法脱离 Matlab 环境运行 Matlab 程序,这是 Matlab 的 缺点。但是 Matlab 的编程效率远远高于一般的高级语言,这使我们可以把大量的时间花 费在对控制系统的算法研究上,而不是浪费在大量的代码上。 1.2.2 Matlab 集成环境的组成 Matlab 是一个软件平台,不仅仅是一门语言,下面简单介绍它的组成。 1、 Matlab 语言 2、 Matlab 工作环境
实现了对 3x3 矩阵的输入。
②数值算法稳定可靠,库函数十分丰富。
Matlab 的一个最大特点是强大的数值计算能力,它提供了许多调用十分方便的数学计

《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。

二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。

本实验中我们选择了一个简单的比例控制系统模型。

2.设定输入信号我们需要为控制系统提供输入信号进行仿真。

在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。

本实验中,我们选择了一个阶跃信号作为输入信号。

3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。

MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。

4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。

常见的性能指标包括系统的稳态误差、超调量、响应时间等。

四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。

2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。

3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。

4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。

5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。

五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。

通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。

六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。

通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。

七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。

MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。

MATLAB与控制系统仿真练习题(含图)及答案

MATLAB与控制系统仿真练习题(含图)及答案

MATLAB 与控制系统仿真练习题(含图)1、已知函数x x e x f x sin cos )(-=,作出函数的大致图像。

>> syms x>> y=exp(x)*cos(x)-sin(x); >> ezplot(y)2、求下列极限:(1)30sin lim xx x x -→ >> syms x>> y=(x-sin(x))/(x^3);>> limit(y,x,0)ans =1/6(2) xx x ⎪⎭⎫ ⎝⎛+∞→11lim >> y=(1+1/x)^x;>> limit(y,x,inf)ans =exp(1)3、求下列函数的导数:(1)x e y x sin =>> syms x>> y=exp(x)*sin(x);>> diff(y,x)ans =exp(x)*sin(x)+exp(x)*cos(x)(2) x e x x y 22sin +=>> syms x>> y=sin(x)+x^2*exp(2*x);>> diff(y,x)ans =cos(x)+2*x*exp(2*x)+2*x^2*exp(2*x)4、求.)1(532⎰-dx x x 和.sin ⎰xdx e x(1).)1(532⎰-dx x xsyms x>> int(x^2*(1-x^3)^5)ans =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^3(2).sin ⎰xdx e x>> int(exp(x)*sin(x))ans =-1/2*exp(x)*cos(x)+1/2*exp(x)*sin(x)5、求.)(102⎰-dx x x 和.1102⎰-dx x x (1) .)(102⎰-dx x x>> syms x>> int(x-x^2,0,1)ans =1/6(2) .1102⎰-dx x x>> syms x>> int(x*(1-x^2)^0.5,0,1)ans =1/36、已知二元函数),(cos )sin(2xy xy z +=试求y x z x z y z x z ∂∂∂∂∂∂∂∂∂222,,,。

控制系统MATLAB仿真实验指导书

控制系统MATLAB仿真实验指导书
则因输入命令axis(V),式中V是一个四元向量。axis(V)把坐标轴定在规定的范围内。
2.4 MATLAB
下面的实验中,我们将较为详细地学习使用MATLAB的语言基础和控制系统仿真,但是MATLAB的内容及其丰富,在学习和使用中,可以利用MATLAB的联机帮助功能。
MATLAB的联机帮助既可以由help命令来直接获得,又可以由MATLAB图形界面下的Help菜单来查询,还可以用lookfor命令查询有关的关键词:
r
绿色
g
蓝色
b
白色
w
无色
i
参见plot的帮助文件。
7.自动绘图算法
在MATLAB中,图形是自动定标的。在另一幅图形画出之前,这幅图形作为现行图将保持不变,但是在另一幅图形画出后,原图形将被删除,坐标轴自动地重新定标。
8.手工坐标定标
如果需要在下列语句指定的范围内绘制曲线:
V=[x-min x-max y-min y-max]
>>help plot
>>lookfor plot
3.1
一、实验目的
1.学习了解MATLAB语言环境;
2.练习MATLAB命令的基本操作;
3.练习m文件的基本操作。
二、实验内容
1. 学习了解MATLAB语言环境
(1)MATLAB语言操作界面
开机双击相应图标即可进入MATLAB命令窗口,如图1.1所示。在命令提示符位置键入命令,完成下述练习。
图1.1MATLAB窗口
(2)练习DOS相似命令
MATLAB语言与DOS操作系统有如下相似的命令,在操作界面上练习这些命令。
dirdir('c:\windows')
typetypeexpm.m

《控制系统仿真与CAD》习题集

《控制系统仿真与CAD》习题集

分别用拟合(二阶和三阶)和插值(线性和三次样条)的方法来估测 X=9.5 时 Y 的值。
第2章
控制系统的数学模型
⎡ 2s + 3 ⎤ ⎢ s 2 + 2s + 1⎥ ⎦ G(s) = ⎣ 2 s + 0.4 s + 1
2-1:将以下系统变换成状态空间形式。
2-2:若已知系统的传递函数为: G ( s) = 零极点增益模型。
1 ⎡ ⎤ ⎢ ⎥ z − 0.3 ⎥ 描述成零极点增益形式。 2-10:将系统模型 G ( z ) = ⎢ 2( z + 0.5) ⎢ ⎥ ⎢ ⎥ − + − − z j z j ( 0.1 )( 0.1 ) ⎣ ⎦
2-11:已知系统的传递函数为:
G(s) = s2 + s + 1 s 3 + 6s 2 + 11s + 6
判断该系统的稳定性。 3-4:设系统的状态方程为:
⎡0 1⎤ x=⎢ ⎥x ⎣ −1 −1⎦
其平衡状态在坐标原点处,判断该系统的稳定性。 3-5:假设系统的开环传递函数为:
建立其相应的传递函数模型。 2-22:已知两子系统的传递函数模型分别为: 1 1 , G2 ( s ) = G1 ( s ) = ( s + 1)( s + 2) s ( s + 3) 利用 MATLAB 求两子系统串联和并联时系统的传递函数。
第3章
控制系统的暂态响应分析
G( s) = 3s 4 + 2s 3 + s 2 + 4s + 2 3s + 5s 4 + s 3 + 2s 2 + 2 s + 1
d 3 y (t ) d 2 y (t ) dy (t ) + 12 +5 + 6 y (t ) = 5u (t ) ,试用传递函数、零极点模型 3 2 dt dt dt

MATLAB与控制系统的数字仿真及CAD课程设计

MATLAB与控制系统的数字仿真及CAD课程设计

MATLAB与控制系统的数字仿真及CAD课程设计引言MATLAB是一种高性能计算软件,广泛应用于科学计算、信号处理、图像处理、数据分析、控制工程等领域。

控制系统是MATLAB中应用广泛的一类工程实践。

数字仿真是利用计算机对各类物理、化学、机械、电气、通信等各类系统进行模拟,以求得对系统性能的认识和分析的一种有效方法。

此文档旨在介绍MATLAB与控制系统的数字仿真及CAD课程设计。

MATLAB数字仿真MATLAB数字仿真是一种基于MATLAB软件平台的模拟方法,可以有效模拟和分析电子系统、传感器、组装等各类系统的工作性能。

MATLAB软件有强大的数值计算和可视化工具,使得控制系统的数字仿真具有高精度的仿真结果和优秀的用户体验。

仿真工具箱MATLAB提供了很多工具箱,包括信号处理工具箱、图像处理工具箱等,控制系统仿真工具箱也是其中之一。

控制系统仿真工具箱提供了包括连续时间系统、离散时间系统、多变量系统、无线系统在内的多种控制系统模型,并提供了丰富的仿真方法,例如最小二乘法、维纳滤波等。

用户可以通过编写脚本或使用图形化界面操作控制系统仿真工具箱,实现自己想要的仿真结果。

建立仿真模型在进行数字仿真前,需要先建立仿真模型。

对于控制系统而言,建立仿真模型需要明确系统的输入、输出、各组件之间的关系以及系统的初始条件等。

建立好仿真模型后,可以对系统的工作过程进行仿真和分析。

以温度控制系统为例,建立仿真模型。

该温度控制系统包含温度感应器作为输入,控制器和加热器作为输出。

建立好模型后,系统可以对不同的工作条件下进行仿真和分析,例如调节感应器灵敏度、控制器输出功率等。

控制系统CAD设计控制系统的CAD设计是指利用计算机辅助设计软件(Computer-ded Design,简称CAD)进行控制系统的三维模型设计、仿真、优化等工作。

控制系统CAD设计可以有效降低设计成本,提高设计效率和质量。

CAD软件常用的CAD软件有AutoCAD和SolidWorks。

《MATLAB与控制系统。。仿真》实验报告

《MATLAB与控制系统。。仿真》实验报告

《MATLAB与控制系统。

仿真》实验报告《MATLAB与控制系统仿真》实验报告班级:学号:姓名:时间: 2021 年 6 月目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值1实验一 MATLAB环境的熟悉与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。

2.掌握MATLAB常用命令表1 MATLAB常用命令clc clear help lookfor 清除命令窗口中内容清除工作空间中变量对所选函数的功能、调用格式及相关函数给出说明查找具有某种功能的函数但却不知道该函数的准确名称 3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MATLAB算术运算符操作符 + - * .* ^ .^ 功能说明加减矩阵乘数组乘矩阵乘方数组乘方操作符 \\ .\\ / ./ ' .' 功能说明矩阵左除数组左除矩阵右除数组右除矩阵转置数组转置表3 MATLAB关系运算符操作符 == ~= > < >= <= 功能说明等于不等于大于小于大于等于小于等于表4 MATLAB逻辑运算符逻辑运算符 & 2逻辑运算 And 说明逻辑与 | ~ Or Not Xor 逻辑或逻辑非逻辑异或表5 MATLAB特殊运算符号功能说明示例符号功能说明示例:;,()[] {} 1:1:4;1:2:11 分隔行分隔列 % 构成向量、矩阵构成单元数组. .. … ! = 注释调用操作系统命令用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四.实验程序及结果1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《MATLAB 基础与控制系统CAD 》仿真作业
一、 求如下非线性二阶系统的时间响应(20分)
32
122
111/8.0/x
x dt dx x e
x dt dx t -=+-=-
其中2)0(,0)0(21==x x ,要求绘出]3,0[∈t 的系统状态响应曲线。

解: 源程序:
先建立一个函数f.m
function dx=f(t,x)
dx=[-x(1)*exp(1-t)+0.8*x(2);x(1)-x(2)^3]; %微分方程
再调用对微分方程数值解ode45函数求解,并且将结果进行图形显示
x0=[0;2]; %x1,x2的初始状态
[t,y]=ode45('f',[0,3],x0); %微分方程求解 plot(t,y); grid on
蓝色为状态x1(从0开始)的响应曲线;
青色为状态x2(从2开始)的响应曲线。

二、 已知系统的开环传递函数如下 (20分)
2
10()525
G s s s =
++
(1) 把G(s)转换成零极点形式的传递函数,判断开环系统稳定性。

(2) 判别系统在单位负反馈下的稳定性,并求出闭环系统在0~10秒内的脉
冲响应和单位阶跃响应,分别绘出响应曲线。

解:
(1) num=10;
den=[1 5 25];
[z,p,k]=tf2zp(num,den);
得极点: P= -2.5000 + 4.3301i -2.5000 - 4.3301i
分析:通过求解极点判断系统稳定性,极点在左半平面,所以系统稳定。

(2)求单位负反馈下的传递函数 syms G H phi s ;
G=10/(s^2+5*s+25); H=1;
phi=G/(1+G*H); %单位负反馈下的传递函数 GH=simple(phi) %简化函数
得单位负反馈下的传递函数:GH =10/(s^2+5*s+35)
p1=[1 5 35];
r=roots(p1) %求极点
得极点: r = -2.5000 + 5.3619i
-2.5000 - 5.3619i
分析:通过求解极点判断系统稳定性,极点在左半平面,所以系统稳定。

脉冲响应和单位阶跃响应:
sys=tf([10],[1 5 35]); impulse(sys,10); %脉冲响应
grid on
figure;
step(sys,10); %阶跃响应 grid on
脉冲响应
阶跃响应三、某单位负反馈系统如下图所示,(20分)
(1)当比例控制器增益K=1时,在Simulink中搭建系统,当输入为阶跃函
数时,用示波器观察系统的输出,绘出输出曲线。

(2)把(1)中的对象输出和时钟输出输入Workspace中,通过在命令窗口中执
行M文件求出系统在阶跃输入下的超调量(%
σ)和峰值时间(
t),写出
p 源程序。

(3)调节控制器增益,使超调量%32%
σ<且稳态误差2.0
e,给出此时K
<
ss
值的范围。

解:
(1)
(2)
Simulink搭建的系统图,把对象输出和时钟输出输入Workspace中
执行M文件(查看workspace中y的稳态值finalvalue=0.5000)finalvalue=0.5000;
%求响应的峰值及对应的下标
[yss,n]=max(y);
%求超调量和峰值时间
sigma=100*(yss-finalvalue)/finalvalue
tp=t(n)
得:超调量 sigma=11.4942%
峰值时间 tp=0.7839
这样求得的超调量和峰值时间并不精确
以下是由MATLAB编程直接求得:
Syms s G phi;
G=10/(s^2+5*s+10);
phi=simple(G/(1+G))
得传递函数:phi=10/(s^2 + 5*s + 20)
num=[10];
den=[1 5 20];
step(num,den);
grid on
[y,x,t]=step(num,den);
%求响应的稳态值
finalvalue=dcgain(num,den);
%求响应的峰值及对应下标
[yss,n]=max(y);
%求响应的超调量和峰值时间
sigma=100*(yss-finalvalue)/finalvalue
tp=t(n)
得:超调量sigma = 12.0189%
峰值时间tp = 0.8393
阶跃响应
(3)
syms R Y E K phi G s;
G=K*10/(s^2+5*s+10);
phi=simple(G/(1+G)); %传递函数
Y=R*phi;
[n,d]=numden(R-Y);
E=n/d;
E=subs(E,[R],[1/s]); %R为单位阶跃响应,即R=1/s
ess=limit(s*E,s,0) %稳态误差ess
得到稳态误差 ess=10/(10*K+10)
[K]=solve('10/(10*K + 10)=0.2',[K]) %求出ess=0.2时增益k的值得到增益 k=4
k=4; sigma=0; %增益k和超调量sigma的初始值,
while sigma<32 %当超调量sigma<32循环执行
num=[10*k];
den=[1 5 10+10*k];
[y,x,t]=step(num,den);
%求响应的稳态值
finalvalue=dcgain(num,den);
%求响应的峰值及对应的小标
[yss,n]=max(y);
%求超调量
sigma=100*(yss-finalvalue)/finalvalue;
k=k+0.0001;
end
k %当超调量sigma=32时增益k的值
得到增益k=4.3851
分析:此题分成两个部分求解,前半部分通过符号运算,计算出带有符号K的稳态误差ess,再求解这个表达式得到ess=0.2时的增益K;后半部分通过枚举的方法,用一个循环语句求解%32%
σ<的增益K,这里通过K=K+0.0001设置精度(这部分我用符号运算老是出错,所以没有采用与前半部分一样的方法)。

最后球得,使超调量%32%
σ<且稳态误差2.0
e,此时K值的范围是4<K<4.3851
<
ss。

相关文档
最新文档