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

MATLAB与控制系统仿真实验报告第一篇:MATLAB与控制系统仿真实验报告《MATLAB与控制系统仿真》实验报告2013-2014学年第 1 学期专业:班级:学号:姓名:实验三 MATLAB图形系统一、实验目的:1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.熟悉利用图形对象进行绘图操作的方法。
4.掌握绘制图形的辅助操作。
二、实验原理:1,二维数据曲线图(1)绘制单根二维曲线plot(x,y);(2)绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn)(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)2,图形标注与坐标控制1)title(图形名称);2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(x,y图形说明)5)legend(图例1,图例2,…)6)axis([xmin xmax ymin ymax zmin zmax])3, 图形窗口的分割 subplot(m,n,p)4,三维曲线plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)5,三维曲面mesh(x,y,z,c)与surf(x,y,z,c)。
一般情况下,x,y,z是维数相同的矩阵。
X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
6,图像处理1)imread和imwrite函数这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
2)image和imagesc函数这两个函数用于图象显示。
为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。
控制系统数字仿真实验报告

function dy = vdp(t,y)
dy=[y-2*t/y];
end
2.脚本m文件ode.m
[t,y]=ode45('vdp',[0 1],1);
plot(t,y);
xlabel('t');
ylabel('y');
3.运行
(二)试用四阶RK法编程求解下列微分方程初值问题。仿真时间2s,取步长h=0.1。
type=i;
[sysc,Kp,Ti,Td]=pidmargin(sys,type);
sysopen=sysc*sys;
sysclose=feedback(sysopen,1);
sysgroup=append(sysgroup,sysclose);
end
clf
for i=1:4
subplot(2,2,i)
Ti=0.5*Tcr
Td=0.12*Tcr
sysc=Kp*(1+tf(1,[Ti,0])+tf([Td 0],1));
end
end
编写脚本m文件:
clf
sys=tf([500 5000],[1 33 337 1775 4950 5000]);
sysgroup=feedback(sys,1);
for i=1:3
实验三PID控制器设计
一、实验目的
1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;
2.掌握计算机辅助系统瞬态性能指标的计算;
3.掌握计算机辅助系统频率性能分析;
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验内容
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)阶跃响应仿真结果表明,非线性环节对系统的性能产生了一定的影响,导致系统响应时间延长。
控制系统仿真实验报告一

end
figure(1)
plot([0:hStep:nCounter*hStep]',Hlevel)
Grid
2、函数文件
functionNewX=my_wsh(h,t0,x0,u0)
K1=l_2(t0,x0,u0);
K2=l_2(t0+h/2,x0+h*K1/2,u0);
K3=l_2(t0+h/2,x0+h*K2/2,u0);
U=0.55,h=30 U=0.55,h=40
U=0.55,h=41 U=0.55,h=42
U=0.55,h=45 U=0.55,h=48
结论:由图可知,当h大于41时RK4变得不稳定
(3)ode45脚本文件
clc
clear
close
[t,H]=ode45('ode4_5',[1 200],[1.2 1.1]);
function[dh]=l_2(t,x,u)
A=2;
ku=0.1/0.5;
alpha12 = 0.25/sqrt(1.5);
alpha2 = 0.25/sqrt(1.4);
dh(1)=(ku*(u(1))-x(1,1)/(2*sqrt(1.5)/alpha12)+u(2))/A;
dh(2)=(x(1,1)/(2*sqrt(1.5)/alpha12)-x(1,2)/(2*sqrt(1.4)/alpha2))/A;
控制系统仿真实验报告1

昆明理工大学电力工程学院学生实验报告实验课程名称:控制系统仿真实验开课实验室:年月日实验一 电路的建模与仿真一、实验目的1、了解KCL 、KVL 原理;2、掌握建立矩阵并编写M 文件;3、调试M 文件,验证KCL 、KVL ;4、掌握用simulink 模块搭建电路并且进行仿真。
二、实验内容电路如图1所示,该电路是一个分压电路,已知13R =Ω,27R =Ω,20S V V =。
试求恒压源的电流I 和电压1V 、2V 。
IVSV 1V 2图1三、列写电路方程(1)用欧姆定律求出电流和电压 (2)通过KCL 和KVL 求解电流和电压四、编写M文件进行电路求解(1)M文件源程序(2)M文件求解结果五、用simulink进行仿真建模(1)给出simulink下的电路建模图(2)给出simulink仿真的波形和数值六、结果比较与分析实验二数值算法编程实现一、实验目的掌握各种计算方法的基本原理,在计算机上利用MATLAB完成算法程序的编写拉格朗日插值算法程序,利用编写的算法程序进行实例的运算。
二、实验说明1.给出拉格朗日插值法计算数据表;2.利用拉格朗日插值公式,编写编程算法流程,画出程序框图,作为下述编程的依据;3.根据MATLAB软件特点和算法流程框图,利用MATLAB软件进行上机编程;4.调试和完善MATLAB程序;5.由编写的程序根据实验要求得到实验计算的结果。
三、实验原始数据上机编写拉格朗日插值算法的程序,并以下面给出的函数表为数据基础,在整个插值区间上采用拉格朗日插值法计算(0.6)f,写出程序源代码,输出计算结果:四、拉格朗日插值算法公式及流程框图五、程序代码六、计算结果f=(0.6)实验三 动态电路的建模及仿真一、实验目的1.了解动态电路的理论,掌握动态电路建模的基本原理; 2.熟悉MATLAB 的Simulink 模块,并掌握使用模块搭建过程。
二、实验说明电力系统是一个大规模、时变的复杂系统,主要由发电、变电、输电、配电和用电等环节组成,在国民经济中占有非常重要的作用。
过程控制系统仿真实习报告

过程控制系统仿真实习报告一、实习目的与要求本次实习旨在通过使用MATLAB/Simulink仿真工具,对过程控制系统进行仿真研究,加深对控制理论的理解,提高控制系统设计和分析的能力。
实习要求如下:1. 熟练掌握MATLAB/Simulink的基本操作和仿真功能。
2. 了解过程控制系统的原理和常见控制策略。
3. 能够运用MATLAB/Simulink对过程控制系统进行建模、仿真和分析。
二、实习内容与过程1. 实习准备在实习开始前,先对MATLAB/Simulink进行学习和了解,掌握其基本的使用方法和功能。
同时,对过程控制系统的原理和常见控制策略进行复习,为实习做好充分的准备。
2. 实习过程(1) 第一个仿真项目:水箱液位控制系统在这个项目中,我们首先建立水箱液位的数学模型,然后根据该模型在Simulink中搭建仿真模型。
我们分别设计了单容、双容和三容水箱的液位控制系统,并分析了控制器参数对系统过渡过程的影响。
通过调整控制器参数,我们可以得到满意的控制效果。
(2) 第二个仿真项目:换热器温度控制系统在这个项目中,我们以换热器温度控制系统为研究对象,根据自动控制系统的原理,利用降阶法确定对象的传递函数。
在Simulink中,我们搭建了单回路、串级和前馈-反馈控制系统模型,并采用常规PID、实际PID和Smith预测器对系统进行仿真。
通过对比不同控制策略的仿真曲线,我们分析了各种控制策略的优缺点。
(3) 第三个仿真项目:基于模糊PID的控制系统在这个项目中,我们以工业锅炉燃烧过程控制系统为研究对象,利用模糊PID控制器优化锅炉燃烧过程控制系统的主要三个子系统:蒸汽压力控制系统、炉膛负压控制系统、燃料与空气比值系统的被控对象的函数。
通过仿真,我们优化了控制器的参数,使得系统在加入扰动后能够快速恢复稳定的状态。
三、实习收获与体会通过本次实习,我对MATLAB/Simulink仿真工具有了更深入的了解,掌握了其在过程控制系统仿真中的应用。
《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。
二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。
本实验中我们选择了一个简单的比例控制系统模型。
2.设定输入信号我们需要为控制系统提供输入信号进行仿真。
在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。
本实验中,我们选择了一个阶跃信号作为输入信号。
3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。
MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。
4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。
常见的性能指标包括系统的稳态误差、超调量、响应时间等。
四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。
2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。
3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。
4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。
5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。
五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。
通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。
六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。
通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。
七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。
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控制系统在调整参数后,具有良好的稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一经典的连续系统仿真建模方法
一实验目的
1.了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2.掌握机理分析建模方法。
3.深入理解一阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab 编写
数值积分法仿真程序。
4.掌握和理解四阶Runge-Kutta 法,加深理解仿真步长与算法稳定性的关系。
二实验内容
1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1)将阀位u 增大10%和减小10%,观察响应曲线的形状;
u=0.45时的图像:
u=0.55
01002003004005006007008009001000 1.25
1.3
1.35
1.4
1.45
1.5
开大或关小阀位之后,稳态值会相应的从原液位上升或下降,这是符合实际的。
(2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定? 由(1)可知,当步长为40时,仿真结果是稳定的 当步长为80时的图像
01002003004005006007008009001000
1.35
1.4
1.45
1.5
1.55
1.6
1.65
1.7
h (1,1)的数值稳定,但是并不是实际求得的稳态值。
h (1,2)的值显然发散。
进一步取小步长,取hstep=42时,图像出现偏差,但是稳态值不变
Hstep=65时,图像偏差明显
0200400600800100012001400160018002000
-140
-120-100-80-60-40-200
20020040060080010001200
1.35
1.41.451.51.551.61.651.7
1.75
而hsetp=65.7时,图像就发散了
(3) 利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。
Ode45调用的函数:
function [dh]=daoshu(t,x)
020040060080010001200140016001800
0.5
1
1.5
2
2.5
3
020040060080010001200140016001800
-25
-20
-15
-10
-5
5
u(1)=0.4;%此处可以修改阀位
dh=zeros(2,1);
u(2)=0.15;
A=2;
ku=0.1/0.5;
alpha12 = 0.25/sqrt(1.5);
alpha2 = 0.25/sqrt(1.4);
dh(1,1)=(ku*(u(1))+u(2)-alpha12*sqrt(x(1,1)))/A;
dh(2,1)=(alpha12*sqrt(x(1,1))-alpha2*sqrt(x(2,1)))/A;
end
在主程序中添加ode45的算法:
[T,Y]=ode45('daoshu',[0,1000],[1.5,1.4]);
figure(1)
plot(T,Y)
hold on
plot([0:hStep:nCounter*hStep]',Hlevel)
grid
将ode45与编写的龙格库塔算法画到同一个坐标系中(点表示ode45):
01002003004005006007008009001000
可以发现,ode45更快达到稳定值,实际上,在缩小了编写算法中的步长后,两种算法的曲线基本重合,说明ode45的精度很高:
2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行 仿真
(1) 将阀位增大10%和减小10%,观察响应曲线的形状; 增大10%,令u(1)=0.05
01002003004005006007008009001000
050100150200250
1.35
1.4
1.45
1.5
1.55
1.6
1.65
1.7
令u(1)=-0.05
(2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?
方法同上,大约在hstep=61时就不稳定了
(3) 阀位增大10%和减小10%,利用MATLAB 中的ode45()函数进行求解阶跃响
减小10%(实线为编写算法,点为龙格库塔法):
增大10%:
050100150200250
1.25
1.3
1.35
1.4
1.45
1.5
050100150200250
050100150200250
程序实现:
调用微分函数:
function [dh] = dx( t,x )
%DX 被ode45调用的微分方程函数
u=zeros(2,1);
u(1)=0.05; %此处可以修改阀位
u(2)=0;
A=2;
ku=0.1/0.5;
alpha12 = 0.25/sqrt(1.5);
alpha2 = 0.25/sqrt(1.4);
R12=2*sqrt(1.5)/alpha12;
R2=2*sqrt(1.4)/alpha2;
AMTRIX = [-1/(A*R12) 0;1/(A*R12) -1/(A*R2)];
BMATRIX = [ku/A 1/A;0 0];
dh=AMTRIX*x+BMATRIX*u;
end
主程序中添加:
[T,Y]=ode45('dx',[0,250],[0,0]);
Y(:,1)=Y(:,1)+1.5
Y(:,2)=Y(:,2)+1.4
figure(3)
plot(T,Y,'.')
hold on
plot([0:hStep:nCounter*hStep]',Hlevel)
grid
三实验报告
实验完成后,要写出实验报告,内容包括:
1.实验步骤及说明;
2.实验所用的仿真程序清单,以及程序结构的简单说明;
3.实验结果曲线及分析,稳态值是多少;
四思考题
1.讨论仿真步长对稳定性和仿真精度的影响。
一般来说,仿真步长越长,系统越倾向于不稳定,仿真步长越短,系统越稳定,但是需要的仿真时间越长。
2.你是怎样实现阀位增大和减小10%的?对于非线性模型和线性模型方法一样吗?
线性模型与非线性模型实际改变方式不一样。
线性模型中,由于采用的是增量化的方程,所以在修改时只需要修改增量,即0.05或-0.05。
非线性模型中,采用的绝对量的方程,所以在修改时应该修改绝对量,即改为0.45或
0.55。
五实验总结
通过本次实验,熟悉了对matlab软件的使用,加深了对微分方程数值积分解法的理解,并通过编写程序进一步加深认识。
通过对系统微分方程的列写,加深了对控制系统的认识,同时对非线性系统的线性化有了更深的了解(增量化方程)。