计算方法与控制系统仿真实验1
自控仿真实验报告

一、实验目的1. 熟悉MATLAB/Simulink仿真软件的基本操作。
2. 学习控制系统模型的建立与仿真方法。
3. 通过仿真分析,验证理论知识,加深对自动控制原理的理解。
4. 掌握控制系统性能指标的计算方法。
二、实验内容本次实验主要分为两个部分:线性连续控制系统仿真和非线性环节控制系统仿真。
1. 线性连续控制系统仿真(1)系统模型建立根据题目要求,我们建立了两个线性连续控制系统的模型。
第一个系统为典型的二阶系统,其开环传递函数为:\[ G(s) = \frac{1}{(s+1)(s+2)} \]第二个系统为具有迟滞环节的系统,其开环传递函数为:\[ G(s) = \frac{1}{(s+1)(s+2)(s+3)} \](2)仿真与分析(a)阶跃响应仿真我们对两个系统分别进行了阶跃响应仿真,并记录了仿真结果。
(b)频率响应仿真我们对两个系统分别进行了频率响应仿真,并记录了仿真结果。
(3)性能指标计算根据仿真结果,我们计算了两个系统的性能指标,包括上升时间、超调量、调节时间等。
2. 非线性环节控制系统仿真(1)系统模型建立根据题目要求,我们建立了一个具有饱和死区特性的非线性环节控制系统模型。
其传递函数为:\[ W_k(s) = \begin{cases}1 & |s| < 1 \\0 & |s| \geq 1\end{cases} \](2)仿真与分析(a)阶跃响应仿真我们对非线性环节控制系统进行了阶跃响应仿真,并记录了仿真结果。
(b)相轨迹曲线绘制根据仿真结果,我们绘制了四条相轨迹曲线,以分析非线性环节对系统性能的影响。
三、实验结果与分析1. 线性连续控制系统仿真(a)阶跃响应仿真结果表明,两个系统的性能指标均满足设计要求。
(b)频率响应仿真结果表明,两个系统的幅频特性和相频特性均符合预期。
2. 非线性环节控制系统仿真(a)阶跃响应仿真结果表明,非线性环节对系统的性能产生了一定的影响,导致系统响应时间延长。
基于MATLAB控制系统仿真实验报告

tf 4
y0
0 1
6、求出 G1(s)
2 (s2 2s 1) 与 G2 (s)
1 (2s3
3s2
1)
的单位阶跃响应,并分别
求出状态空间模型。
解:(1) G1(s) 2 (s2 2s 1) 的状态空间模型求解如下:
function shiyan2 b1=[2];
D(z)
0.62(1 0.136z 1)(1 0.183z (1 0.045z 1)(1 0.53z 1)
1 )
分别用仿真算法得到系统在单位阶跃输入作用下的响应,系统在单位速度输
入是的输出响应。
解:(1)首先将 W1(s)转换为 W1(z),采样周期 T=0.2s,程序清单如下: function shiyan42 num=[10];den=[0.005 0.15 1 0]; ts=0.2;[nc,dc]=c2dm(num,den,ts)
INTRO(注意:intro 为一个用 MATLAB 语言编写的幻灯片程序,主要演示
常用的 MATLAB 语句运行结果。)
然后,根据现实出来的幻灯片右面按钮进行操作,可按 START——NEXT—
—NEXT 按钮一步步运行,观察。
3、自编程序并完成上机编辑,调试,运行,存盘:
(1)用 MATLAB 命令完成矩阵的各种运算,例如:
5、利用 ode23 或 ode45 求解线性时不变系统微分方程 y(t) Ay(t) ,并绘制出 y(t)
曲线,式中
A
0.5
1
1 0.5
t t0 t 如下: function xdot=fun21(t,x) A=[-0.5 1;-1 -0.5]; xdot=A*x; function fzsy22 t0=0;tf=4;tol=1e-6; x0=[0;1];trace=1; [t,x]=ode23('fun21',t0,tf,x0,tol,trace); plot(t,x) 得到的实验结果如下图所示:
控制系统数字仿真

对汽车的悬挂、转向、制动等系统进行数字仿真,验证底 盘控制算法的正确性和可行性,提高汽车的操控稳定性和 行驶安全性。
自动驾驶控制
通过数字仿真技术,模拟自动驾驶系统的行为和性能,评 估自动驾驶控制算法的优劣和适用性,推动自动驾驶技术 的发展和应用。
04
控制系统数字仿真挑战与解决方 案
实时性挑战与解决方案
电机控制
对电机的启动、调速、制动等过程进行数字仿真,验证电机控制算 法的正确性和可行性,提高电机的稳定性和可靠性。
智能控制
通过数字仿真技术,模拟智能控制系统的行为和性能,评估智能控 制算法的优劣和适用性。
机器人控制
1 2 3
运动控制
对机器人的关节和末端执行器进行数字仿真,模 拟机器人的运动轨迹和姿态,验证运动控制算法 的正确性和可行性。
实时性挑战
在控制系统数字仿真中,实时性是一个关键的挑战。由于仿真过程中需要不断进行计算和控制,如果仿真时间过 长,会导致控制延迟,影响系统的实时响应。
解决方案
为了解决实时性挑战,可以采用高效的算法和计算方法,如并行计算、分布式计算等,以提高仿真速度。同时, 可以通过优化仿真模型和减少不必要的计算来降低仿真时间。
特点
数字仿真具有高效、灵活、可重复性 等优点,可以模拟各种实际工况和参 数条件,为控制系统设计、优化和故 障诊断提供有力支持。
数字仿真的重要性
验证设计
通过数字仿真可以对控制系统设计进行验证, 确保系统性能符合预期要求。
优化设计
数字仿真可以帮助发现系统设计中的潜在问 题,优化系统参数和性能。
故障诊断
THANபைடு நூலகம்S
感谢观看
发展趋势
目前,数字仿真正朝着实时仿真、 高精度建模、智能化分析等方向 发展,为控制系统的研究和应用 提供更强大的支持。
控制系统仿真实验报告

采样控制系统仿真实验报告姓名胡晓健班级13学号08001331课题内容1、应用采样工作原理和离散控制系统设计方法设计采样控制系统。
2、掌握采样控制系统的特点及采样控制系统仿真的特殊问题,运用采样控制系统数字仿真的一般方法(差分方程递推求解法和对离散、连续部分分别计算的双重循环法)及Simulink 对系统进行仿真。
3、给出仿真设计方案和仿真模型。
4、仿真分析。
具体内容:采样控制系统如下图所示:一. 设计要求① 设被控对象sss G o +=21)(,采用零阶保持器,数字控制器为5.015.2)(+-=z z z D ,采样周期T=0.1s 。
应用差分方程递推求解法求系统输出的单位阶跃响应,并求其超调量、上升时间、峰值时间。
设计方案和实现差分方程递推求解法在构成采样控制仿真模型时,若连续部分不要求计算内部状态变量或不含非线性环节,则可以同样的采样周期分别建立离散部分和连续部分的差分方程,然后采用差分方程递推求解。
由题意可知被控对象不含非线性环节且不要求计算其内部状态变量,为了简化仿真过程并提高仿真精度,将连续部分的离散化模型嵌入到整个仿真模型中,即求出系统闭环脉冲传递函数(离散化模型),得到系统的差分方程后递推求解由题意得数字控制器(离散部分)为5.015.2)(+-=z z z D求解传递函数的程序如下:Ts=0.1 %采样周期num1=[1]den1=[1,1,0]G1c=tf(num1,den1)G1d=c2d(G1c,Ts) %采用零阶保持法进行系统变换G2d=tf([2.5 -1],[1 0.5],0.1)Gd=G1d*G2dGHd=feedback(Gd,1) %建立闭环系统模型Ts =0.1000num1 =1den1 =1 1 0%G1c的传递函数Transfer function:1-------s^2 + s%G1c转换后的Z传递函数Transfer function:0.004837 z + 0.004679----------------------z^2 - 1.905 z + 0.9048Sampling time: 0.1%G2d的传递函数Transfer function:2.5 z - 1---------z + 0.5Sampling time: 0.1%开环系统的Z传递函数Transfer function:0.01209 z^2 + 0.00686 z - 0.004679------------------------------------z^3 - 1.405 z^2 - 0.04758 z + 0.4524Sampling time: 0.1%闭环系统的Z 传递函数 Transfer function:0.01209 z^2 + 0.00686 z - 0.004679 ------------------------------------z^3 - 1.393 z^2 - 0.04072 z + 0.4477Sampling time: 0.1由上式可知当采样周期为T =0.1s 时,连续部分的脉冲传递函数为系统闭环脉冲传递函数系统差分方程为求解差分方程的MATLAB 程序如下clear allm=2;n=3; % 明确脉冲传递函数分子m=2;分母n=3 A=[-1.393 -0.04072 0.4477]; % 脉冲传递函数分母多项式的系数行向量 B=[0.01209 0.00686 -0.004679]; % 脉冲传递函数分子多项式的系数行向量R=zeros(m+1,1); % 建立参与递推运算的输入信号序列存储列向量Y=zeros(n,1); % 建立参与递推运算的输出信号序列存储列向量 T=0.1; % 明确采样周期T =0.1sM=150; % 设定仿真总时间为M*T=15s(进行M=150次递推计算) yt=0;t=0;for k=1:MR(k)=1; % r (t )=1(t )的离散序列R(0)=R(1)=…R(k)=1 R=[R(k);R(1:m)];% 刷新参与递推运算的输入信号序列 yk=-A*Y+B*R; % 递推运算21219048.0905.1104679.0004837.0)(----+-+=zzz z z G 3213214477.004072.0393.11004679.000686.001209.0)()(1)()()()()(------+---+=+==zz z zzzz G z D z G z D z R z Y z G cl )3(004679.0)2(00686.0)1(01209.0)3(4477.0)2(04072.0)1(393.1)(---+-+---+-=k k r k r k y k y k y k yY=[yk;Y(1:n-1)];% 刷新参与递推运算的输出信号序列yt=[yt,yk]; % yt 为记载各采样(kT)时刻输出响应的行向量 t=[t,k*T]; % t 为记载各采样(kT)时刻的行向量(与yt 对应) endplot(t,yt,'*k'); % 绘制各采样(kT)时刻的输出响应图 grid;xlabel('time(s)'); ylabel('y(kT)');超调量 σ% 指响应的最大偏离量h(tp)与终值h (∞)的差与终值h (∞)比的百分数h(tp)-h %*100%h σ∞=∞()()峰值时间 tp 指响应超过其终值到达第一个峰值所需的时间上升时间 tr 指响应从终值10%上升到终值90%所需的时间求超调量的程序 maxy=max(yt); yss=yt(length(t));pos=100*(maxy-yss)/yss求峰值时间的程序 for i=1:50if yt(i)==maxy,n=i;end endtp=(n-1)*15/length(t)求上升时间的程序 for i=1:50if (yt(i)<yss*0.1),t1=i;end if (yt(i)<yss*0.9),t2=i;end endts=(t2-t1)*15/length(t)测试和结果.输出的单位阶跃响应为由程序算出的超调量,峰值时间和上升时间超调量pos = 14.0155峰值时间tp =3.5762上升时间ts =1.6887由上面两张截图算出的超调量σ%=(1.163-1.02)/1.02=14.02%峰值时间tp=3.6由上面两张截图可得上升时间tr=2-0.4=1.6性能分析该仿真算法不仅简单易行且仿真精度高。
基于MATLAB的控制系统设计与仿真实践

基于MATLAB的控制系统设计与仿真实践控制系统设计是现代工程领域中至关重要的一部分,它涉及到对系统动态特性的分析、建模、控制器设计以及性能评估等方面。
MATLAB作为一种强大的工程计算软件,在控制系统设计与仿真方面有着广泛的应用。
本文将介绍基于MATLAB的控制系统设计与仿真实践,包括系统建模、控制器设计、性能评估等内容。
1. 控制系统设计概述控制系统是通过对被控对象施加某种影响,使其按照既定要求或规律运动的系统。
在控制系统设计中,首先需要对被控对象进行建模,以便进行后续的分析和设计。
MATLAB提供了丰富的工具和函数,可以帮助工程师快速准确地建立系统模型。
2. 系统建模与仿真在MATLAB中,可以利用Simulink工具进行系统建模和仿真。
Simulink是MATLAB中用于多域仿真和建模的工具,用户可以通过拖拽图形化组件来搭建整个系统模型。
同时,Simulink还提供了各种信号源、传感器、执行器等组件,方便用户快速搭建复杂的控制系统模型。
3. 控制器设计控制器是控制系统中至关重要的一部分,它根据系统反馈信息对输出信号进行调节,以使系统输出达到期望值。
在MATLAB中,可以利用Control System Toolbox进行各种类型的控制器设计,包括PID控制器、根轨迹设计、频域设计等。
工程师可以根据系统需求选择合适的控制器类型,并通过MATLAB进行参数调节和性能优化。
4. 性能评估与优化在控制系统设计过程中,性能评估是必不可少的一环。
MATLAB提供了丰富的工具和函数,可以帮助工程师对系统进行性能评估,并进行优化改进。
通过仿真实验和数据分析,工程师可以评估系统的稳定性、鲁棒性、响应速度等指标,并针对性地进行调整和改进。
5. 实例演示为了更好地说明基于MATLAB的控制系统设计与仿真实践,我们将以一个简单的直流电机速度控制系统为例进行演示。
首先我们将建立电机数学模型,并设计PID速度控制器;然后利用Simulink搭建整个闭环控制系统,并进行仿真实验;最后通过MATLAB对系统性能进行评估和优化。
控制系统仿真实验报告书

一、实验目的1. 掌握控制系统仿真的基本原理和方法;2. 熟练运用MATLAB/Simulink软件进行控制系统建模与仿真;3. 分析控制系统性能,优化控制策略。
二、实验内容1. 建立控制系统模型2. 进行仿真实验3. 分析仿真结果4. 优化控制策略三、实验环境1. 操作系统:Windows 102. 软件环境:MATLAB R2020a、Simulink3. 硬件环境:个人电脑一台四、实验过程1. 建立控制系统模型以一个典型的PID控制系统为例,建立其Simulink模型。
首先,创建一个新的Simulink模型,然后添加以下模块:(1)输入模块:添加一个阶跃信号源,表示系统的输入信号;(2)被控对象:添加一个传递函数模块,表示系统的被控对象;(3)控制器:添加一个PID控制器模块,表示系统的控制器;(4)输出模块:添加一个示波器模块,用于观察系统的输出信号。
2. 进行仿真实验(1)设置仿真参数:在仿真参数设置对话框中,设置仿真时间、步长等参数;(2)运行仿真:点击“开始仿真”按钮,运行仿真实验;(3)观察仿真结果:在示波器模块中,观察系统的输出信号,分析系统性能。
3. 分析仿真结果根据仿真结果,分析以下内容:(1)系统稳定性:通过观察系统的输出信号,判断系统是否稳定;(2)响应速度:分析系统对输入信号的响应速度,评估系统的快速性;(3)超调量:分析系统超调量,评估系统的平稳性;(4)调节时间:分析系统调节时间,评估系统的动态性能。
4. 优化控制策略根据仿真结果,对PID控制器的参数进行调整,以优化系统性能。
调整方法如下:(1)调整比例系数Kp:增大Kp,提高系统的快速性,但可能导致超调量增大;(2)调整积分系数Ki:增大Ki,提高系统的平稳性,但可能导致调节时间延长;(3)调整微分系数Kd:增大Kd,提高系统的快速性,但可能导致系统稳定性下降。
五、实验结果与分析1. 系统稳定性:经过仿真实验,发现该PID控制系统在调整参数后,具有良好的稳定性。
《控制系统建模与仿真》课后习题-2021版

《控制系统建模与仿真》课程习题(1)一、“投针实验”的历史价值在人类数学文化史中,对圆周率 精确值的追求吸引了许多学者的研究兴趣。
在众多的圆周率计算方法中,最为奇妙的是法国物理学家布丰(Boffon)在1777年提出的“投针实验”。
试回答下列问题:1、试对“投针实验”的机理给出一种直观形象的物理解释?2、有人说“布丰/ Boffon(投针实验)是仿真技术的奠基者”,为什么?3、试用MATLAB语言编制“投针实验”的仿真程序,仿真证明之。
二、自平衡式两轮电动车的安全问题近年来,自平衡式两轮电动车产品成为“抢眼”的代步工具,但也出现很多问题(如上图所示);试根据你所了解的情况就“平衡车产品是否可以合法上路?”问题,给出你的意见与建议。
提示:可从“技术、安全、法律、可持续”等方面,有理有据地展开讨论。
参考书:张晓华《控制系统数字仿真与CAD》 (第4版) 机械工业出版社 2020张晓华《系统建模与仿真》(第2版)清华大学出版社 2016《控制系统建模与仿真》课程习题(2)一、一阶直线倒立摆系统的建模问题对于教材中图2-7所示的一阶直线倒立摆系统,基于牛顿定律所建立的数学模型(如教材的图2-8所示),试问:这个数学模型是否正确,给出你的分析与证明。
提示:(1)基于MATLAB仿真进行模型验证(参见教材第四章第三节);(2)应用“拉格朗日方程”方法建模,进行结果对比。
二、一阶直线双倒立摆系统的可实现问题如下图所示的一阶直线双倒立摆系统,试问:能否通过控制力F实现“在保持两杆不倒的条件下,使小车在直线X方向的位置任意移动”?提示:(1)建立系统数学模型;(2)应用现代控制理论的“能控性定理”进行分析。
参考书:张晓华《控制系统数字仿真与CAD》 (第4版) 机械工业出版社 2020张晓华《系统建模与仿真》(第2版)清华大学出版社 2016《控制系统建模与仿真》课程习题(3)一、水箱液位控制系统设计问题如下图所示的“水箱液位系统”,试回答下列问题:1、试给出含有(控制器+传感器)的“水箱液位控制系统”方案;2、试依据“流体力学”的基本概念,建立系统的数学模型;3、若使系统液位控制实现稳态无静差,试给出PID控制器设计方案;二、水箱液位控制的拓展问题试回答下述问题:1、某人在上述“水箱液位控制系统”中,采用单片机作控制器,程序设计为“增量式PI控制算法”,如果控制系统在“阶跃给定”下存在稳态误差,试问这种情况是否合理?为什么?2、对于上图所示的“水箱液位系统”,在下排水出口处流体呈“紊流”状态,试证明:其流量与液位高度的关系为Q=K∙√H。
PID仿真实验

实验1 闭环控制系统仿真实验——PID 控制算法仿真一、实验目的1.掌握PID 控制规律及控制器实现。
2.掌握用Simulink 建立PID 控制器及构建系统模型与仿真方法。
二、实验设备计算机、MATLAB 软件 三、实验原理在模拟控制系统中,控制器中最常用的控制规律是PID 控制。
PID 控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。
PID 控制规律写成传递函数的形式为s K sKiK s T s T K s U s E s G d p d i p ++=++==)11()()()( 式中,P K 为比例系数;i K 为积分系数;d K 为微分系数;ip i K K T =为积分时间常数;pdd K K T =为微分时间常数;简单来说,PID 控制各校正环节的作用如下:(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。
(2)积分环节:主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。
(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
四、实验过程1、在MA TLAB 命令窗口中输入“simulink ”进入仿真界面。
2、构建PID 控制器:(1)新建Simulink 模型窗口(选择“File/New/Model ”),在Simulink Library Browser 中将需要的模块拖动到新建的窗口中,根据PID 控制器的传递函数构建出如下模型:各模块如下:Math Operations 模块库中的Gain 模块,它是增益。
拖到模型窗口中后,双击模块,在弹出的对话框中将‘Gain ’分别改为‘Kp ’、‘Ki ’、‘Kd ’,表示这三个增益系数。
Continuous 模块库中的Integrator 模块,它是积分模块;Derivative 模块,它是微分模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 65 7 3 2 7
求下列表达式的值:
A+6*B 和 A-B+I(其中 I 为单位矩阵)
A*B 和 A.*B
A^3 和 A.^3
A/B 及 B\A
[A,B]和[A([1,3],:);B^2]
7.设有矩阵 A 和 B
1 2 3 4 5 3 0 16
6
7
8
9
10
17 6
9
A 11 12 13 14 15 , B 0 23 4
16 17 18 19 20 9 7 0
21 22 23 24 25 4 13 11
(1) 求它们的乘积 C;
(2) 将矩阵 C 的右下角 3*2 子矩阵赋给 D;
),
其中x
2 0.45
1 2i
5
(了解根号、ln(x)、lg(x)的
matlab 表示方式)
5.P13:第 5 题(逆矩阵、单位阵、随机数等表示方法)
6.P61:第 1 题
12 34 4 1 3 1
6.已知 A 34 7 87 , B 2 0
3
3 求[12 2 * (7 4)] 32 的算术运算结果。 (基本运算)
4.先求下列表达式的值,然后显示 MATLAB 工作空间的使用情况并保存全部 变量。
2sin 850 (1) z1 1 e2 (了解非弧度的三角函数表示、e 的表示)
1 (2) z2 2 统仿真
实验 1
1.分别练习下面指令: 先在命令窗口随便敲一些变量并赋值,然后敲入这些命令:cd, who,
whos,clc,clear, help,doc,dir, path, save, load。观看结果,体会这些命 令的作用。
2.利用 MATLAB 的帮助功能分别查询 plot、min、round、inv 函数的功能和 用法。
(3) 察看 MATLAB 工作空间的使用情况。
8.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到
小数点后一位。提示可以使用的函数:rand,fprintf
9.P61:第 2 题,试列出 1000 以内的除以 13 余 2 的所有整数,并求出除以
13 余 2 的整数个数。提示可使用的函数:rem ,find,size,length;