控制系统仿真实验报告
哈工大 计算机仿真技术实验报告 仿真实验四基于Simulink控制系统仿真与综合设计

基于Simulink 控制系统仿真与综合设计一、实验目的(1) 熟悉Simulink 的工作环境及其功能模块库; (2) 掌握Simulink 的系统建模和仿真方法; (3) 掌握Simulink 仿真数据的输出方法与数据处理;(4) 掌握利用Simulink 进行控制系统的时域仿真分析与综合设计方法; (5) 掌握利用 Simulink 对控制系统的时域与频域性能指标分析方法。
二、实验内容图2.1为单位负反馈系统。
分别求出当输入信号为阶跃函数信号)(1)(t t r =、斜坡函数信号t t r =)(和抛物线函数信号2/)(2t t r =时,系统输出响应)(t y 及误差信号)(t e 曲线。
若要求系统动态性能指标满足如下条件:a) 动态过程响应时间s t s 5.2≤;b) 动态过程响应上升时间s t p 1≤;c) 系统最大超调量%10≤p σ。
按图1.2所示系统设计PID 调节器参数。
图2.1 单位反馈控制系统框图图2.2 综合设计控制系统框图三、实验要求(1) 采用Simulink系统建模与系统仿真方法,完成仿真实验;(2) 利用Simulink中的Scope模块观察仿真结果,并从中分析系统时域性能指标(系统阶跃响应过渡过程时间,系统响应上升时间,系统响应振荡次数,系统最大超调量和系统稳态误差);(3) 利用Simulink中Signal Constraint模块对图2.2系统的PID参数进行综合设计,以确定其参数;(4) 对系统综合设计前后的主要性能指标进行对比分析,并给出PID参数的改变对闭环系统性能指标的影响。
四、实验步骤与方法4.1时域仿真分析实验步骤与方法在Simulink仿真环境中,打开simulink库,找出相应的单元部件模型,并拖至打开的模型窗口中,构造自己需要的仿真模型。
根据图2.1 所示的单位反馈控制系统框图建立其仿真模型,并对各个单元部件模型的参数进行设定。
所做出的仿真电路图如图4.1.1所示。
控制系统仿真综合实验报告

图 2-1
校正前系统阶跃响应曲线
可以看出原系统的响应速度非常慢, 所以要通过校正来改善系统的动态性能, 可以采用串联超前校正。 原系统为Ⅰ型系统,容易求出系统的速度误差系数为
K lim
s 0
s 400 2 s ( s 30 s 200)
2
根据实验要求速度误差系数为 10 ,那么 KV 10 / 2 5 ,此时系统的开环 传函为: G s
5 400 ,用 MATLAB 计算得相角裕量为 32.6°,由于采 s s 30 s 200
2
用串联超前校正能够增大系统的相角裕量,所以综合考虑,采用串联超前校正。 2. 经过第一步的分析,采用串联校正,可以计算出串联校正装置传递函数为 5 (1 0.12 s ) ,因此校正后的开环传递函数为: 1 0.048s
K Ess Overshoot(%) Ts(s) 5 0.2857 34.6099 4.7766
表1
8 0.20000 43.5125 5.6730
9 0.1818 45.7812 5.5325
12 0.1429 51.6704 5.7655
不同 K 值下系统响应的参数
(四)实验结果与分析 从理论上分析,系统的传递函数为 G s
ulxxlgxx?????????????????????????????????????????????????????????????????4301004300100000000010????uxxxy????????????????????????????????????0001000001???实际系统摆杆转动轴心到杆质心的长度为l025m则系统的状态方程为
(二)实验要求 1. 使用 Matlab 进行仿真; 2. 分析不同 K 值的情况下,系统的单位阶跃响应曲线,并绘图进行比较; 3. 列表对系统响应各性能进行比较,并确定你认为合适的参数值。 (三)实验内容及步骤 1.运行 MATLAB,进行仿真实验。
自控仿真实验报告

一、实验目的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与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。
二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。
本实验中我们选择了一个简单的比例控制系统模型。
2.设定输入信号我们需要为控制系统提供输入信号进行仿真。
在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。
本实验中,我们选择了一个阶跃信号作为输入信号。
3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。
MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。
4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。
常见的性能指标包括系统的稳态误差、超调量、响应时间等。
四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。
2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。
3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。
4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。
5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。
五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。
通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。
六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。
通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。
七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。
MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。
程控仿真实验报告

一、实验目的1. 熟悉程控仿真软件的基本操作及功能。
2. 掌握程控仿真系统的搭建与调试方法。
3. 分析程控仿真系统在实际应用中的优势与局限性。
4. 培养独立思考和解决问题的能力。
二、实验内容1. 程控仿真软件介绍2. 程控仿真系统搭建3. 程控仿真系统调试4. 程控仿真系统应用案例分析5. 实验结果与分析三、实验设备1. 个人计算机2. 程控仿真软件(如Matlab、Simulink等)3. 程控仿真实验指导书四、实验步骤1. 程控仿真软件介绍(1)打开程控仿真软件,熟悉软件界面及功能模块。
(2)了解程控仿真软件的基本操作,如建模、仿真、分析等。
2. 程控仿真系统搭建(1)根据实验需求,选择合适的程控仿真软件。
(2)搭建仿真模型,包括系统结构、输入输出、参数设置等。
(3)连接模型模块,确保系统正常运行。
3. 程控仿真系统调试(1)设置初始参数,如时间步长、仿真精度等。
(2)运行仿真,观察系统动态响应。
(3)调整模型参数,优化系统性能。
4. 程控仿真系统应用案例分析(1)选择一个实际工程案例,如控制系统、通信系统等。
(2)利用程控仿真软件搭建该案例的仿真模型。
(3)进行仿真实验,分析系统性能。
5. 实验结果与分析(1)整理实验数据,包括仿真结果、系统性能指标等。
(2)分析实验结果,总结程控仿真系统的优势与局限性。
(3)撰写实验报告,阐述实验过程、结果及心得体会。
五、实验结果与分析1. 程控仿真软件操作熟练,能够快速搭建仿真模型。
2. 程控仿真系统搭建成功,系统运行稳定。
3. 通过仿真实验,分析了系统性能,为实际工程应用提供了参考。
4. 程控仿真系统在实际应用中具有以下优势:(1)快速搭建仿真模型,缩短研发周期。
(2)降低实验成本,提高实验效率。
(3)便于进行系统性能分析,优化系统设计。
5. 程控仿真系统在实际应用中存在以下局限性:(1)仿真结果与实际系统存在一定偏差。
(2)对仿真模型的准确性要求较高。
控制系统实训实验报告

一、实验目的1. 了解控制系统的基本组成和原理。
2. 掌握控制系统调试和性能测试方法。
3. 培养动手能力和团队协作精神。
4. 熟悉相关实验设备和软件的使用。
二、实验原理控制系统是指通过某种方式对某个系统进行控制,使其按照预定的要求进行运行。
控制系统主要由控制器、被控对象和反馈环节组成。
控制器根据被控对象的输出信号,通过调节输入信号,实现对被控对象的控制。
本实验主要研究PID控制系统的原理和应用。
三、实验仪器与设备1. 实验箱:用于搭建控制系统实验电路。
2. 数据采集卡:用于采集实验数据。
3. 计算机:用于运行实验软件和数据处理。
4. 实验软件:用于控制系统仿真和调试。
四、实验内容1. 控制系统搭建:根据实验要求,搭建PID控制系统实验电路,包括控制器、被控对象和反馈环节。
2. 控制系统调试:对搭建好的控制系统进行调试,包括控制器参数的整定、系统稳定性和响应速度的调整等。
3. 控制系统性能测试:对调试好的控制系统进行性能测试,包括系统稳定性、响应速度、超调量等指标。
4. 控制系统仿真:利用实验软件对控制系统进行仿真,分析系统在不同参数下的性能。
五、实验步骤1. 控制系统搭建:按照实验要求,连接控制器、被控对象和反馈环节,搭建PID控制系统实验电路。
2. 控制系统调试:根据实验要求,调整控制器参数,使系统达到预定的性能指标。
3. 控制系统性能测试:对调试好的控制系统进行性能测试,记录测试数据。
4. 控制系统仿真:利用实验软件对控制系统进行仿真,分析系统在不同参数下的性能。
六、实验结果与分析1. 控制系统搭建:成功搭建了PID控制系统实验电路。
2. 控制系统调试:通过调整控制器参数,使系统达到预定的性能指标。
3. 控制系统性能测试:系统稳定性、响应速度、超调量等指标均达到预期效果。
4. 控制系统仿真:仿真结果表明,系统在不同参数下具有良好的性能。
七、实验总结1. 通过本次实验,了解了控制系统的基本组成和原理。
控制系统仿真实验报告

采样控制系统仿真实验报告姓名胡晓健班级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性能分析该仿真算法不仅简单易行且仿真精度高。
国开形考自动化控制系统仿真实验报告2023最新

国开形考自动化控制系统仿真实验报告2023最新一、引言本实验报告基于国开自动化控制系统仿真实验,旨在分析与评估系统的性能,并提供相应的解决方案。
本实验报告详细介绍了实验目的、实验装置与所用软件、实验步骤、实验结果及讨论,最后给出了实验总结和结论。
二、实验目的本实验的目的是通过对自动化控制系统的仿真实验,加深对自动化控制的理解,并掌握相应的仿真实验技能。
通过实验的过程,研究掌握自动化控制系统的设计与调试方法,进一步提高系统性能。
三、实验装置与所用软件实验装置采用了国开实验室提供的自动化控制系统设备。
主要硬件设备包括传感器、执行器以及控制器等。
所用软件为国开自动化控制系统仿真软件,支持实时仿真与数据采集功能。
四、实验步骤1. 搭建自动化控制系统。
2. 连接传感器和执行器,并配置相应的参数。
3. 使用仿真软件,建立仿真模型。
4. 设计控制算法,并在仿真环境中进行调试。
5. 运行仿真实验,收集数据并记录实验过程。
五、实验结果及讨论根据实验数据和分析结果,系统的控制性能良好,能够实现预期的控制目标。
通过对控制算法的优化和参数调节,系统的响应速度和稳定性得到了进一步提高。
六、实验总结和结论通过本次自动化控制系统仿真实验,我们深入了解了自动化控制的基本原理和方法。
通过实际操作,我们掌握了相关的仿真实验技能,并在实验过程中发现了一些问题并得到了解决。
实验结果表明,通过合理设计和调试,自动化控制系统能够实现预期的控制效果。
七、参考文献以上就是国开形考自动化控制系统仿真实验报告的内容。
感谢阅读!。
控制系统仿真实验报告书

一、实验目的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控制系统在调整参数后,具有良好的稳定性。
控制仿真实验报告

控制仿真实验报告控制仿真实验报告引言:控制仿真实验是一种通过计算机模拟系统行为,以验证和优化控制算法的方法。
在现代工程领域中,控制仿真实验在设计和开发过程中扮演着重要的角色。
本文将介绍一次控制仿真实验的过程和结果,探讨仿真实验的意义和应用。
1. 实验目标本次控制仿真实验的目标是设计和评估一种PID控制器,用于稳定一个机械臂的运动。
通过仿真实验,我们希望验证该控制器是否能够使机械臂达到预定的位置和速度,并且具有良好的鲁棒性和响应速度。
2. 实验设置在仿真软件中,我们建立了一个包含机械臂、传感器和控制器的模型。
机械臂由多个关节组成,可以在三维空间中进行运动。
传感器用于测量机械臂的位置和速度,并将这些信息反馈给控制器。
控制器根据传感器的反馈信息和预定的目标,计算出控制信号,控制机械臂的运动。
3. 实验步骤首先,我们根据机械臂的物理参数和运动方程,建立了仿真模型。
然后,我们选择了PID控制器作为控制算法,并根据经验设定了合适的参数。
接下来,我们进行了一系列仿真实验,分别测试了机械臂在不同位置和速度下的控制效果。
在每次实验中,我们记录了机械臂的运动轨迹、控制信号和误差。
4. 实验结果通过对实验数据的分析,我们得到了以下结论:- PID控制器能够使机械臂达到预定的位置和速度,并且具有良好的鲁棒性。
在不同位置和速度的情况下,控制器都能够快速且稳定地将机械臂调整到目标状态。
- 在实验过程中,我们发现控制器的参数对控制效果有着重要的影响。
通过调整PID参数,我们可以改变控制器的响应速度和稳定性。
- 在某些情况下,机械臂可能会出现振荡或超调的现象。
这时,我们可以通过调整PID参数或者采用其他控制算法来改善控制效果。
5. 实验讨论控制仿真实验为我们提供了一个安全、经济且高效的方法,用于验证和优化控制算法。
通过仿真实验,我们可以在实际系统投入运行之前,对控制器的性能进行评估和改进。
同时,仿真实验还能够帮助我们理解系统的动态特性,探索不同控制策略的优缺点。
控制系统设计与仿真实验报告

控制系统设计与仿真上机实验报告学院:自动化学院班级:自动化姓名:学号:一、 第一次上机任务1、熟悉matlab 软件的运行环境,包括命令窗体,workspace 等,熟悉绘图命令。
2、采用四阶龙格库塔法求如下二阶系统的在幅值为1脉宽为1刺激下响应的数值解。
222()2nn nG s s s ωξωω=++ ,0.5,10n ξω== 3、采用四阶龙格库塔法求高阶系统阶单位跃响应曲线的数值解。
222()(2)(1)nn nG s s s Ts ωξωω=+++,0.5,10n ξω==,5T =4、 自学OED45指令用法,并求解题2中二阶系统的单位阶跃响应。
程序代码如下:;曲线如下:二、 第二次上机任务1、试用simulink 方法解微分方程,并封装模块,输出为i x 。
得到各状态变量的时间序列,以及相平面上的吸引子。
112322331223x x x x x x x xx x x x αββγ=-+⎧⎪=-+⎨⎪=-+-⎩&&&参数入口为,,αβγ的值以及i x 的初值。
(其中8/3,10,28αβγ===,以及初值分别为1230,0,0.001x x x ===) 提示:1s模块输入是输出量的微分。
Simulink :曲线如下:2、用simulink搭建PI控制器的控制回路,被控对象传递函数:151s+,分别分析(1)、比例系数由小到大以及积分时间由小到大对阶跃响应曲线的影响。
(2)、控制器输出有饱和以及反馈有时滞情况下,阶跃响应曲线的变化。
(3)、主控制回路传递函数为:1201s+,副回路为:151s+,主回路采用PI控制器,副回路采用P控制器,分析控制系统对主回路以及副回路的阶跃扰动的抑制。
注:PI控制器表达式为1()(1)()iU s Kp E sT s=+,串级控制如图所示。
(1)(2)(3)3.编写S函数模块,实现两路正弦信号的叠加,正弦信号相位差为60度。
《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告实验报告:MATLAB与控制系统仿真引言在现代控制工程领域中,仿真是一种重要的评估和调试工具。
通过仿真技术,可以更加准确地分析和预测控制系统的行为和性能,从而优化系统设计和改进控制策略。
MATLAB是一种强大的数值计算软件,广泛应用于控制系统仿真。
实验目的本实验旨在掌握MATLAB在控制系统仿真中的应用,通过实践了解控制系统的建模与仿真方法,并分析系统的稳定性和性能指标。
实验内容1.建立系统模型首先,根据控制系统的实际情况,建立系统的数学模型。
通常,控制系统可以利用线性方程或差分方程进行建模。
本次实验以一个二阶控制系统为例,其传递函数为:G(s) = K / [s^2 + 2ζω_ns + ω_n^2],其中,K表示放大比例,ζ表示阻尼比,ω_n表示自然频率。
2.进行系统仿真利用MATLAB软件,通过编写代码实现控制系统的仿真。
可以利用MATLAB提供的函数来定义传递函数,并通过调整参数来模拟不同的系统行为。
例如,可以利用step函数绘制控制系统的阶跃响应图像,或利用impulse函数绘制脉冲响应图像。
3.分析系统的稳定性与性能在仿真过程中,可以通过调整控制系统的参数来分析系统的稳定性和性能。
例如,可以改变放大比例K来观察系统的超调量和调整时间的变化。
通过观察控制系统的响应曲线,可以判断系统的稳定性,并计算出性能指标,如超调量、调整时间和稳态误差等。
实验结果与分析通过MATLAB的仿真,我们得到了控制系统的阶跃响应图像和脉冲响应图像。
通过观察阶跃响应曲线,我们可以得到控制系统的超调量和调整时间。
通过改变放大比例K的值,我们可以观察到超调量的变化趋势。
同时,通过观察脉冲响应曲线,我们还可以得到控制系统的稳态误差,并判断系统的稳定性。
根据实验结果分析,我们可以得出以下结论:1.控制系统的超调量随着放大比例K的增大而增大,但当K超过一定值后,超调量开始减小。
2.控制系统的调整时间随着放大比例K的增大而减小,即系统的响应速度加快。
控制系统仿真实验报告(20200717013819)

控制系统仿真实验报告班级:测控 1402 班姓名:王玮学号: 14050402072018 年 01 月实验一经典的连续系统仿真建模方法一实验目的 :1了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2掌握机理分析建模方法。
3深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab 编写数值积分法仿真程序。
4掌握和理解四阶 Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。
二实验内容 :1.编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1)将阀位u增大 10%和减小 10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?(3)利用 MATLAB 中的 ode45() 函数进行求解,比较与(1)中的仿真结果有何区别。
2.编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真(1)将阀位增大 10%和减小 10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?(4)阀位增大 10%和减小 10%,利用 MATLAB中的 ode45() 函数进行求解阶跃响应,比较与( 1)中的仿真结果有何区别。
三程序代码 :龙格库塔 :%RK4文件clccloseH=[1.2,1.4]';u=0.55; h=1;TT=[];XX=[];for i=1:h:200k1=f(H,u);k2=f(H+h*k1/2,u);k3=f(H+h*k2/2,u);k4=f(H+h*k3,u);H=H+h*(k1+2*k2+2*k3+k4)/6;TT=[TT i];XX=[XX H];end;hold onplot(TT,XX(1,:),'--',TT,XX(2,:));xlabel('time')ylabel('H')gtext('H1')gtext('H2')hold on水箱模型 :function dH=f(H,u)k=0.2;u=0.5;Qd=0.15;A=2;a1=0.20412;a2=0.21129;dH=zeros(2,1);dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));2 编写四阶Runge_Kutta公式的计算程序,对线性状态方程(18)式进行仿真:1阀值 u 对仿真结果的影响U=0.45;h=1;U=0.5;h=1;U=0.55;h=1;2 步长 h 对仿真结果的影响:U=0.5;h=5;U=0.5;h=20;U=0.5;h=39U=0.5;h=50由以上结果知 , 仿真步长越大 , 仿真结果越不稳定。
控制系统仿真实验报告

控制系统仿真实验报告班级:测控1402班姓名:王玮学号:072018年01月实验一经典的连续系统仿真建模方法一实验目的:1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2 掌握机理分析建模方法。
3 深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab编写数值积分法仿真程序。
4 掌握和理解四阶Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。
二实验内容:1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1)将阀位u 增大10%和减小10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定(3)利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。
2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真(1)将阀位增大10%和减小10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定(4)阀位增大10%和减小10%,利用MATLAB 中的ode45()函数进行求解阶跃响应,比较与(1)中的仿真结果有何区别。
三程序代码:龙格库塔:%RK4文件clccloseH=[,]';u=; h=1;TT=[];XX=[];for i=1:h:200k1=f(H,u);k2=f(H+h*k1/2,u);k3=f(H+h*k2/2,u);k4=f(H+h*k3,u);H=H+h*(k1+2*k2+2*k3+k4)/6;TT=[TT i];XX=[XX H];end;hold onplot(TT,XX(1,:),'--',TT,XX(2,:)); xlabel('time')ylabel('H')gtext('H1')gtext('H2')hold on水箱模型:function dH=f(H,u)k=;u=;Qd=;A=2;a1=;a2=;dH=zeros(2,1);dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真:1 阀值u对仿真结果的影响U=;h=1; U=;h=1;U=;h=1;2 步长h对仿真结果的影响:U=;h=5; U=;h=20;U=;h=39 U=;h=50由以上结果知,仿真步长越大,仿真结果越不稳定。
控制系统仿真实验报告

控制系统仿真实验报告姓名:王天雷班级:231142学号:20131004363学院:自动化专业:自动化指导老师:刘峰2017 年 1 月目录7.2.2 (1)7.2.3 (7)7.2.4 (12)7.2.5 (17)7.2.6 (21)7.3.1 (24)总结 (25)7.2.2 控制系统的阶跃响应实验目的:观察学习控制系统的单位阶跃响应 记录单位阶跃响应曲线掌握时间响应分析的一般方法实验内容: 1. 二阶系统1)键入程序,观察并记录单位阶跃响应曲线 First.m close all; clear all; clc;num=[10];den=[1 2 10]; step(num,den); title(‘阶跃响应曲线’);2)键入damp(den) 计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录结果:Eigenvalue (闭环根) Damping (阻尼比) Freq. (rad/s)(无阻尼振荡频率)()102102++=s s sG-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000 -1.00e+000 - 3.00e+000i 3.16e-001 3.16e+0003)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:由理论知识知编写代码x.m%返回峰值时间,超调量,调节时间5%,2% function [tr b ts1 ts2]=x(a,wn) wd=wn*(1-a^2)^0.5;%求解wd tp=3.14/wd;%峰值时间b=exp((-3.14*a/(1-a^2)^0.5));%超调量 ts1=3.5/(wn*a),ts2=4.5/(wn*a);%调节时间 计算得到理论值,填入表中3//πωπ==d p t 4.52%(00.9)3.55%n s n t ζωζζω⎧∆=⎪⎪=<<⎨⎪∆=⎪⎩2 1)修改参数,分别实现和的响应曲线,并记录 程序:second.m clear all; close all; clc;n0=10;d0=[1 2 10];step(n0,d0);%原系统,kesai=0.36 hold on;%保持原曲线n1=n0;d1=[1 6.32 10];step(n1,d1);%kesai=1; n2=n0;d2=[1 12.64 10];step(n2,d2);%kesai=2;如图,kesai 分别为0.36,1,2,曲线幅度递减2)修改参数,分别写出程序实现和的响应曲线,并记录程序:third.m clear all; close all; clc;n0=10;d0=[1 2 10];step(n0,d0);%原系统,wn0=10^0.5 hold on;%保持原曲线n1=0.25*n0;d1=[1 1 n1];step(n1,d1);%wn1=0.5*wn0; n2=4*n0;d2=[1 4 n2];step(n2,d2);%wn2=4*wn0=2;1=ζ2=ζ0121w w n =022w w n =如图,wn=2*wn0,wn0,0.5*wn0,上升时间逐渐增长,超调量不变3. 作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果(1),有系统零点的情况(2),分子、分母多项式阶数相等(3),分子多项式零次项为零(4),原响应的微分,微分系数为1/10程序:%各系统阶跃响应曲线比较G0=tf([10],[1 2 10]);G1=tf([2 10],[1 2 10]);G2=tf([1 0.5 10],[1 2 10]); G3=tf([1 0.5 0],[1 2 10]);G4=tf([1 0 ],[1 2 10]); step(G0,G1,G2,G3,G4); grid on;title(' Step Response 曲线比较');()10210221+++=s s s s G ()102105.0222++++=s s s s s G ()1025.0222+++=s s s s s G ()10222++=s s s s G4.试做一个三阶系统和四阶系统的阶跃响应,并分析实验结果 假设一个三阶和一个四阶系统,如下sys1=tf([1],[1 1 1 1]);sys2=tf([1],[1 1 1 1 1]);step(sys1,sys2);如图,分别为sys1,sys2系统阶跃响应曲线分析1:系统阻尼比和无阻尼振荡频率对系统阶跃相应的影响11123+++=s s s sys 112234++++=s s s ssys解:在欠阻尼响应曲线中,阻尼比越小,超调量越大,上升时间越短,通常取kesai在0.4到0.8之间,此时超调量适度,调节时间较短;若二阶系统的阻尼比不变,振荡频率不同,其阶跃响应的振荡特性相同但响应速度不同,wn越大,响应速度越快。
控制系统仿真实验报告

控制系统仿真实验报告一、实验目的本次控制系统仿真实验的主要目的是通过使用仿真软件对控制系统进行建模、分析和设计,深入理解控制系统的工作原理和性能特点,掌握控制系统的分析和设计方法,提高解决实际控制问题的能力。
二、实验设备与软件1、计算机一台2、 MATLAB 仿真软件三、实验原理控制系统是由控制对象、控制器和反馈环节组成的一个闭环系统。
其工作原理是通过传感器测量控制对象的输出,将其与期望的输出进行比较,得到误差信号,控制器根据误差信号产生控制信号,驱动控制对象,使系统的输出逐渐接近期望的输出。
在仿真实验中,我们使用数学模型来描述控制对象和控制器的动态特性。
常见的数学模型包括传递函数、状态空间方程等。
通过对这些数学模型进行数值求解,可以得到系统的输出响应,从而对系统的性能进行分析和评估。
四、实验内容1、一阶系统的仿真建立一阶系统的数学模型,如一阶惯性环节。
使用 MATLAB 绘制系统的单位阶跃响应曲线,分析系统的响应时间和稳态误差。
2、二阶系统的仿真建立二阶系统的数学模型,如典型的二阶振荡环节。
改变系统的阻尼比和自然频率,观察系统的阶跃响应曲线,分析系统的稳定性、超调量和调节时间。
3、控制器的设计与仿真设计比例控制器(P 控制器)、比例积分控制器(PI 控制器)和比例积分微分控制器(PID 控制器)。
对给定的控制系统,分别使用不同的控制器进行仿真,比较系统的性能指标,如稳态误差、响应速度等。
4、复杂控制系统的仿真建立包含多个环节的复杂控制系统模型,如串级控制系统、前馈控制系统等。
分析系统在不同输入信号下的响应,评估系统的控制效果。
五、实验步骤1、打开 MATLAB 软件,新建脚本文件。
2、根据实验内容,定义系统的数学模型和参数。
3、使用 MATLAB 中的函数,如 step()函数绘制系统的阶跃响应曲线。
4、对响应曲线进行分析,计算系统的性能指标,如超调量、调节时间、稳态误差等。
5、设计控制器,修改系统模型,重新进行仿真,比较系统性能的改善情况。
MATLABSimulink与控制系统仿真实验报告

MATLAB/Simulink 与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++g ,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
控制系统仿真实验报告

控制系统仿真实验报告控制系统仿真实验报告引言控制系统是现代科学技术中的重要组成部分,广泛应用于工业生产、交通运输、航空航天等领域。
为了验证和优化控制系统的设计方案,仿真实验成为一种重要的手段。
本篇文章将对控制系统仿真实验进行详细的报告和分析。
一、实验目的本次控制系统仿真实验旨在通过模拟真实的控制系统运行环境,验证控制系统的性能和稳定性。
具体目标包括:1. 验证控制系统的闭环性能,包括稳定性、响应速度和误差补偿能力。
2. 评估不同控制策略在系统性能上的差异,比较PID控制、模糊控制等算法的效果。
3. 优化控制系统的设计方案,提高系统的控制精度和鲁棒性。
二、实验装置和方法本次实验采用MATLAB/Simulink软件进行仿真。
通过搭建控制系统的数学模型,并设置不同的控制参数和输入信号,模拟真实的控制环境。
具体步骤如下:1. 建立控制系统的数学模型,包括被控对象、传感器、执行器等部分。
2. 设计不同的控制策略,如PID控制器、模糊控制器等,并设置相应的参数。
3. 设置输入信号,模拟系统的工作条件和外部干扰。
4. 运行仿真实验,记录系统的输出响应、误差曲线和稳定性指标。
5. 分析实验结果,对比不同控制策略的性能差异,优化控制系统的设计方案。
三、实验结果与分析通过多次仿真实验,我们得到了一系列实验结果,并进行了详细的分析。
以下是其中的一些重要发现:1. PID控制器在大部分情况下表现出良好的控制性能,能够实现较快的响应速度和较小的稳态误差。
然而,在某些复杂系统中,PID控制器可能存在过调和震荡的问题。
2. 模糊控制器在处理非线性系统时表现出较好的鲁棒性,能够适应不同工况下的控制要求。
但是,模糊控制器的设计和参数调整相对复杂,需要较多的经验和专业知识。
3. 对于一些特殊的控制系统,如高阶系统和时变系统,需要采用更为复杂的控制策略,如自适应控制、鲁棒控制等。
这些策略能够提高系统的鲁棒性和适应性,但也增加了控制系统的设计和调试难度。
控制仿真实验报告

实验名称:基于MATLAB/Simulink的PID控制器参数优化仿真实验日期:2023年11月10日实验人员:[姓名]实验指导教师:[指导教师姓名]一、实验目的1. 理解PID控制器的原理及其在控制系统中的应用。
2. 学习如何使用MATLAB/Simulink进行控制系统仿真。
3. 掌握PID控制器参数优化方法,提高控制系统的性能。
4. 分析不同参数设置对系统性能的影响。
二、实验原理PID控制器是一种广泛应用于控制领域的线性控制器,它通过将比例(P)、积分(I)和微分(D)三种控制作用相结合,实现对系统输出的调节。
PID控制器参数优化是提高控制系统性能的关键。
三、实验内容1. 建立控制系统模型。
2. 设置PID控制器参数。
3. 进行仿真实验,分析系统性能。
4. 优化PID控制器参数,提高系统性能。
四、实验步骤1. 建立控制系统模型使用MATLAB/Simulink建立被控对象的传递函数模型,例如:```G(s) = 1 / (s^2 + 2s + 5)```2. 设置PID控制器参数在Simulink中添加PID控制器模块,并设置初始参数,例如:```Kp = 1Ki = 0Kd = 0```3. 进行仿真实验设置仿真时间、初始条件等参数,运行仿真实验,观察系统输出曲线。
4. 分析系统性能分析系统在给定参数下的响应性能,包括超调量、调节时间、稳态误差等指标。
5. 优化PID控制器参数根据分析结果,调整PID控制器参数,优化系统性能。
可以使用以下方法:- 试凑法:根据经验调整参数,观察系统性能变化。
- Ziegler-Nichols方法:根据系统阶跃响应,确定参数初始值。
- 遗传算法:使用遗传算法优化PID控制器参数。
6. 重复步骤3-5,直至系统性能满足要求五、实验结果与分析1. 初始参数设置初始参数设置如下:```Kp = 1Ki = 0Kd = 0```仿真结果如图1所示:从图1可以看出,系统存在较大的超调量和较长的调节时间,稳态误差较大。
控制系统仿真与设计实验报告

控制系统仿真与设计实验报告姓名:班级:学号:指导老师:刘峰7.2.2控制系统的阶跃响应一、实验目的1。
观察学习控制系统的单位阶跃响应;2。
记录单位阶跃响应曲线;3.掌握时间相应的一般方法;二、实验内容1.二阶系统G(s)=10/(s2+2s+10)键入程序,观察并记录阶跃响应曲线;录系统的闭环根、阻尼比、无阻尼振荡频率;记录实际测去的峰值大小、峰值时间、过渡时间,并与理论值比较。
(1)实验程序如下:num=[10];den=[1 2 10];step(num,den);响应曲线如下图所示:(2)再键入:damp(den);step(num,den);[y x t]=step(num,den);[y,t’]可得实验结果如下:实际值理论值峰值 1.3473 1.2975 峰值时间1。
0928 1。
0649 过渡时间+%5 2.4836 2.6352+%2 3.4771 3。
51362。
二阶系统G(s)=10/(s2+2s+10)试验程序如下:num0=[10];den0=[1 2 10];step(num0,den0);hold on;num1=[10];den1=[1 6.32 10];step(num1,den1);hold on;num2=[10];den2=[1 12.64 10];step(num2,den2);响应曲线:(2)修改参数,分别实现w n1= (1/2)w n0和w n1= 2w n0响应曲线试验程序:num0=[10];den0=[1 2 10];step(num0,den0);hold on;num1=[2.5];den1=[1 1 2。
5];step(num1,den1);hold on;num2=[40];den2=[1 4 40];step(num2,den2);响应曲线如下图所示:3。
时作出下列系统的阶跃响应,并比较与原系统响应曲线的差别与特点,作出相应的实验分析结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制系统仿真实验实验报告实验一 经典的连续系统仿真建模方法一 实验目的:1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2 掌握机理分析建模方法。
3 深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab 编写数值积分法仿真程序。
4 掌握和理解四阶Runge-Kutta 法,加深理解仿真步长与算法稳定性的关系。
二 实验原理: 1非线性模型仿真()()⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧-=-+=221122112111H H A dt dH H Q u k A dt dH d u ααα ⎥⎦⎤⎢⎣⎡∆∆⎥⎥⎦⎤⎢⎢⎣⎡+⎥⎦⎤⎢⎣⎡∆∆⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=∆d u Q u A A k H H AR AR ARH 00111012121212三 实验内容:1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1) 将阀位u 增大10%和减小10%,观察响应曲线的形状;2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真 (1) 将阀位增大10%和减小10%,观察响应曲线的形状; (2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定? 四 程序代码: 龙格库塔: %Rk4文件function [x,y]=Rk4(f,y0,h,a,b,u) %四阶龙格库塔公式%微分方程组的函数名称,初始值,步长,时间起点,时间终点,阀门开度 n=floor((b-a)/h);%求步数 x(1)=a; %时间起点 y(1,:)=y0; %赋初值 for i=1:nx(i+1)=x(i)+h;k1=f(x(i),y(i,:),u);k2=f(x(i)+h/2,y(i,:)+h*k1/2,u); k3=f(x(i)+h/2,y(i,:)+h*k2/2,u); k4=f(x(i)+h,y(i,:)+h*k3,u);y(i+1,:)=y(i,:)+h*(k1+2*k2+2*k3+k4)/6; end状态方程:function dy=f(t,y,u)dy = zeros(2,1);dy(1)=0.5*(0.2*u+0.15-0.20412*sqrt(y(1)));dy(2)=0.5*(0.20412*sqrt(y(1))-0.21129*sqrt(y(2)));dy=dy'水箱模型:clearu=0.6; %阀位大小y0=[1.5 1.4]; %初始值a=0;b=600; %仿真时间h=1; %仿真步长[T,Y]=Rk4(@f,y0,h,a,b,u); %调用PK4plot(T,Y(:,1),'b-',T,Y(:,2),'m-.')title('非线性模型曲线图');legend('第一个水箱液位H1','第二个水箱液位H2');xlabel('时间t');ylabel('液位高度h');1 、阀值u对仿真结果的影响U=0.4;h=1;U=0.6;h=1;2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真:%RK_4文件function [x,y]=RK_4(f2,y0,h,a,b,u)%参数表顺序依次是微分方程组的函数名称,初始值向量,步长,时间起点,时间终点,阀门开度n=floor((b-a)/h);%求步数x(1)=a;%时间起点y(1,:)=y0; %赋初值,可以是向量,但是要注意维数for i=1:nx(i+1)=x(i)+h;k1=f2(x(i),y(i,:),u);k2=f2(x(i)+h/2,y(i,:)+h*k1/2,u);k3=f2(x(i)+h/2,y(i,:)+h*k2/2,u);k4=f2(x(i)+h,y(i,:)+h*k3,u);y(i+1,:)=y(i,:)+h*(k1+2*k2+2*k3+k4)/6;%按照龙格库塔方法进行数值求解end状态方程:function dy=f2(t,y,u)A=2;Ku=0.1/0.5;dy=zeros(2,1); % a column vector a12=0.25/sqrt(1.5); a2=0.25/sqrt(1.4); R12=2*sqrt(1.5)/a12; R2=2*sqrt(1.4)/a2;AX=[-1/(A*R12) 0;1/(A*R12) -1/(A*R2)]; BX=[Ku/A 1/A;0 0]; dy=AX*y'+BX*u'; dy=dy' end线性函数: clcclear all u=[0.5 0]; y0=[0 0];a=0;b=500;h=1;[T,Y]=RK_4(@f2,y0,h,a,b,u); Y(:,1)=Y(:,1)+1.5; Y(:,2)=Y(:,2)+1.4;plot(T,Y(:,1),'g-',T,Y(:,2),'r-.')title('线性模型曲线图');legend('第一个水箱的液位H1','第二个水箱的液位H2');xlabel('时间t');ylabel('液位高度h'); 1 阀值u 对仿真结果的影响:U=0.4;h=1;0501001502002503003504004505001.41.61.822.22.42.62.8线性模型响应曲线图时间t液位高度hH1H2U=0.6;h=1;0501001502002503003504004505001.41.61.822.22.42.62.83线性模型响应曲线图时间t液位高度hH1H22 步长h 对仿真结果的影响:U=0.5;h=5;0501001502002503003504004505001.41.61.822.22.42.62.8线性模型响应曲线图时间t液位高度hH1H2U=0.5;h=20;0501001502002503003504004505001.41.61.822.22.42.62.8线性模型响应曲线图时间t液位高度hH1H2U=0.5;h=35;0501001502002503003504004505001.41.61.822.22.42.62.8线性模型响应曲线图时间t液位高度hH1H2U=0.5;h=45;0501001502002503003504004505001.41.61.822.22.42.62.8线性模型响应曲线图时间t液位高度hH1H2当步长为45时仿真结果开始不稳定,仿真步长越大,仿真结果越不稳定。
实验二 面向结构图的仿真一 、实验目的1. 掌握理解控制系统闭环仿真技术。
2. 掌握理解面向结构图的离散相似法的原理和程序结构。
3. 掌握 MATLAB 中C2D 函数的用法,掌握双线性变换的原理 二、实验内容根据上面的各式,编写仿真程序,实现无扰动时给定值阶跃仿真实验1. 取Kp=1.78 ,Ti = 85s ,T = 10s , H2s=80 , Qd=0,tend= 700,进行仿真实验,绘制响应曲线。
三、实验程序及代码 响应曲线的绘制: 1)线性程序代码: clc cleartend=700;T=10;Qd=0;Kp=1.78;Ti=85;A=2; %参数 Ku=0.1/0.5;H2set_percent=80; alpha12=0.25/sqrt(1.5); alpha2=0.25/sqrt(1.4); R12=2*sqrt(1.5)/alpha12; R2=2*sqrt(1.4)/alpha2; H1spanLo=0;H1spanHi=2.52;H2spanLo=0;H2spanHi=2.52;H1=1.5;H2=1.4;u=0.5;k=2;Kc=Kp/Ti;bc=Ti;Kd=1/A;ad=1/(A*R12);K1=Ku/A;a1=1/(A*R12);K2=1/(A*R12);a2=1/(A*R2);uc(1)=0;ud(1)=0;u1(1)=0;u2(1)=0;xc(1)=0;xd(1)=0;x1(1)=0;x2(2)=0;yc(1)=0;yd(1)=0;y1(1)=0;y2(2)=0;for t=10:T:tendud(k)=Qd;xc(k)=xc(k-1)+Kc*T*uc(k-1);xd(k)=exp(-ad*T)*xd(k-1)+Kd*(1-exp(-ad*T))/ad*ud(k-1);x1(k)=exp(-a1*T)*x1(k-1)+K1*(1-exp(-a1*T))/a1*u1(k-1);x2(k)=exp(-a2*T)*x2(k-1)+K2*(1-exp(-a2*T))/a2*u2(k-1);y2(k)=x2(k);uc(k)=H2set_percent/100-(y2(k-1)+H2-H2spanLo)/(H2spanHi-H2spanLo); yc(k)=xc(k)+bc*Kc*uc(k);yd(k)=xd(k);y1(k)=x1(k);u1(k)=yc(k);u2(k)=y1(k);k=k+1;endH1_present=(y1+H1-H1spanLo)/(H1spanHi-H1spanLo)*100;%h1的高度H2_present=(y2+H2-H2spanLo)/(H2spanHi-H2spanLo)*100;%h2的高度yc=(yc+u)*100; %控制器的输出plot(0:T:tend,[H1_present',H2_present',yc'])title('线性模型阶跃响应曲线图');legend('H1','H2','yc');xlabel('时间t');ylabel('液位高度h/控制器输出(100%)');曲线图010*******4005006007005060708090100110线性模型阶跃响应曲线图时间t液位高度h /控制器输出(100%)H1H2yc2)非线性程序代码: clc cleartend=700;T=10;Qd=0;Kp=1.78;Ti=85;A=2; c=0.5; %参数 Ku=0.1/0.5;H2set_percent=80; alpha12=0.25/sqrt(1.5); alpha2=0.25/sqrt(1.4); R12=2*sqrt(1.5)/alpha12; R2=2*sqrt(1.4)/alpha2; H1spanLo=0;H1spanHi=2.52; H2spanLo=0;H2spanHi=2.52; H1=1.5;H2=1.4;u=0.5;k=2; Kc=Kp/Ti;bc=Ti;Kd=1/A;ad=1/(A*R12); K1=Ku/A;a1=1/(A*R12); K2=1/(A*R12);a2=1/(A*R2);uc(1)=0;ud(1)=0;u1(1)=0;u2(1)=0; xc(1)=0;xd(1)=0;x1(1)=0;x2(2)=0; yc(1)=0;yd(1)=0;y1(1)=0;y2(2)=0; for t=10:T:tend ud(k)=Qd;xc(k)=xc(k-1)+Kc*T*uc(k-1);xd(k)=exp(-ad*T)*xd(k-1)+Kd*(1-exp(-ad*T))/ad*ud(k-1); x1(k)=exp(-a1*T)*x1(k-1)+K1*(1-exp(-a1*T))/a1*u1(k-1); x2(k)=exp(-a2*T)*x2(k-1)+K2*(1-exp(-a2*T))/a2*u2(k-1);y2(k)=x2(k);uc(k)=H2set_percent/100-(y2(k-1)+H2-H2spanLo)/(H2spanHi-H2spanLo); yc(k)=xc(k)+bc*Kc*uc(k); if yc(k)>c yc(k)=c; elseif yc(k)<-c yc(k)=-c; endyd(k)=xd(k); y1(k)=x1(k); u1(k)=yc(k); u2(k)=y1(k); k=k+1; endH1_present=(y1+H1-H1spanLo)/(H1spanHi-H1spanLo)*100; H2_present=(y2+H2-H2spanLo)/(H2spanHi-H2spanLo)*100; yc=(yc+u)*100;plot(0:T:tend,[H1_present',H2_present',yc']);title('含有非线性环节的模型阶跃响应曲线图');legend('H1','H2','yc'); xlabel('时间t');ylabel('液位高度h/控制器输出(100%)'); 曲线图:10020030040050060070050556065707580859095100含有非线性环节的模型阶跃响应曲线图时间t液位高度h /控制器输出(100%)H1H2yc2.阶跃响应的绘制 1)程序代码Kp=1.78;Ti=85;A=2; %参数Ku=0.1/0.5;H2set_percent=80; alpha12=0.25/sqrt(1.5); alpha2=0.25/sqrt(1.4); R12=2*sqrt(1.5)/alpha12; R2=2*sqrt(1.4)/alpha2; H1spanLo=0;H1spanHi=2.52; H2spanLo=0;H2spanHi=2.52; H1=1.5;H2=1.4;u=0.5;k=2; Kc=Kp/Ti;bc=Ti;Kd=1/A;ad=1/(A*R12); K1=Ku/A;a1=1/(A*R12); K2=1/(A*R12);a2=1/(A*R2);n1=[Kc*bc,Kc];d1=[1 0];s1=tf(n1,d1); n2=[Kd];d2=[1 ad];s2=tf(n2,d2); n3=[K1];d3=[1 a1];s3=tf(n3,d3); n4=[K2];d4=[1 a2];s4=tf(n4,d4); sysq=s1*s3*s4;sys=feedback(sysq,1); G=c2d(sys,10,'tustin');num=[0.1173,0.1303,-0.0912,-0.1042]; den=[1,-1.891,1.415,-0.4715]; num1=3*num;dstep(num1,den); 2)响应曲线:05101520253035400.511.522.533.5Step ResponseTime (sec)A m p l i t u d e实验三采样系统的仿真一实验目的1.掌握理解数字控制系统的仿真技术。