中南大学控制系统仿真技术实验指导书1

合集下载

控制系统仿真实验指导书及解答

控制系统仿真实验指导书及解答

实验一 MATLAB 软件操作练习一、 实验目的1. 熟悉MATLAB 软件的基本操作;2. 学会利用MATLAB 进行基本数学计算的方法;3. 学会用MATLAB 进行矩阵创建和运算。

二、实验设备计算机一台,MATLAB 软件三、实验内容1. 使用help 命令,查找 sqrt (开方)、roots (求根)等函数的使用方法;2. 用MATLAB 可以识别的格式输入以下矩阵75350083341009103150037193......A ⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦并将A 矩阵的右下角2×3子矩阵赋给D 矩阵。

赋值完成后,调用相应的命令查看MATLAB 工作空间的占用情况。

3. 矩阵运算(1)矩阵的乘法已知A=[1 2;3 4]; B=[5 5;7 8];求A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'(4)使用冒号选出指定元素已知: A=[3 2 3;2 4 6;6 8 10];求A 中第3列前2个元素;A 中所有列第2,3行的元素;4. 分别用for 和while 循环结构编写程序,求出6323626302122222i i K ===++++++∑并考虑一种避免循环的简洁方法来进行求和。

四、实验步骤1. 熟悉MATLAB 的工作环境,包括各菜单项、工具栏以及指令窗口、工作空间窗口、启动平台窗口、命令历史窗口、图形文件窗口和M 文件窗口;2. 在指令窗口中完成实验内容中规定操作并记录相关实验结果;3. 完成实验报告。

实验二 M 文件编程及图形处理一、实验目的1.学会编写MATLAB 的M 文件;2.熟悉MATLAB 程序设计的基本方法;3. 学会利用MATLAB 绘制二维图形。

二、实验设备计算机一台,MATLAB 软件三、实验内容1. 选择合适的步距绘制出下面的图形(1)sin(tan )tan(sin )t t -,其中(,)t ππ∈-(2)-0.5t y=e sin(t-)3π,t ∈[0,20](3)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5), t ∈[0,2π]2.基本绘图控制绘制[0,4π]区间上的x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)给横坐标标注’t ’,纵坐标标注‘y(t)‘,3.M 文件程序设计(1)编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值);(2)编写分段函数⎪⎩⎪⎨⎧≤≤-<≤=其它021210)(x x x x x f的函数文件,存放于文件ff.m 中,计算出)2(f ,)3(-f 的值四、实验要求1. 预习实验内容,按实验要求编写好实验程序;2. 上机调试程序,记录相关实验数据和曲线,3. 完成实验报告。

控制系统仿真实验报告一

控制系统仿真实验报告一
实验一实验一实验一实验一经典的连续系统仿真建模方法经典的连续系统仿真建模方法经典的连续系统仿真建模方法经典的连续系统仿真建模方法一非线性模型仿真一非线性模型仿真一非线性模型仿真一非线性模型仿真编写四阶编写四阶编写四阶rungekuttarungekuttarungekutta公式的计算程序对非线性模型公式的计算程序对非线性模型公式的计算程序对非线性模型33式进行仿真
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;

中南大学系统仿真实验报告

中南大学系统仿真实验报告

实验一MATLAB 中矩阵与多项式的基本运算实验任务1. 了解MATLAB命令窗口和程序文件的调用。

2 •熟悉如下MATLAB的基本运算:①矩阵的产生、数据的输入、相关元素的显示;②矩阵的加法、乘法、左除、右除;③特殊矩阵:单位矩阵、“ 1 ”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算;④多项式的运算:多项式求根、多项式之间的乘除。

基本命令训练1、>> eye(2)ans =1 00 1>> eye(4)ans =1 0 0 00 1 0 00 0 1 00 0 0 12、>> ones(2)1 1ans =1 1>> ones(4)ans =1 1 1 11 1 1 11 1 1 11 1 1 1 >> ones(2,2)ans =1 11 1>> ones(2,3)ans =1 1 11 1 1>> ones(4,3)ans =1 1 11 1 11 1 11 1 1 3、>> zeros(2)ans =0 00 0>> zeros(4)ans =0 0 0 00 0 0 00 0 0 00 0 0 0>> zeros(2,2)ans =0 00 0>> zeros(2,3)ans =0 0 00 0 0>> zeros(3,2)ans =0 00 0004、随机阵>> rand(2,3) ans =0.2785 0.9575 0.15760.5469 0.9649 0.9706 >> rand(2,3)ans =0.9572 0.8003 0.42180.4854 0.1419 0.9157 5、>> diag(5)ans =5>> diag(5,5) ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> diag(2,3)ans =0 0 0 20 0 0 00 0 0 00 0 0 0 6、(inv (A)为求A的逆矩阵) >> B=[5 3 1;2 3 8;1 1 1],inv(B)5 3 12 3 81 1 1ans =0.6250 0.2500 -2.6250-0.7500 -0.5000 4.75000.1250 0.2500 -1.1250>> A=[2 3;4 4],B=[5 3;3 8],inv(A),inv(B);A\B,A/B,inv(A)*B,B*inv(A) A =2 34 4B =5 33 8ans =-1.0000 0.75001.0000 -0.5000ans =-2.7500 3.00003.5000 -1.0000ans =0.2258 0.29030.6452 0.2581ans =-2.7500 3.00003.5000 -1.0000 ans =-2.0000 2.25005.0000 -1.75007、>> p =[1,-6,-72,-27], roots(p)p =1 -6 -72 -27ans =12.1229-5.7345-0.3884>> p=[2,3,6],roots(p)p =2 3 6ans =-0.7500 + 1.5612i-0.7500 - 1.5612i8、( A 为n*n 的方阵)>> A=[0 1 0;-4 4 0;-2 1 2],poly(A),B=sym(A),poly(B) A =0 1 0-4 4 0-2 1 2 ans =1 -6 12 -8B =[ 0, 1,0][ -4, 4, 0][ -2, 1, 2]ans =x A3-6*x A2+12*x-89, 、( conv 是多项式相乘,deconv 是多项式相除) >> u=[1 2 4 6 ],v=[5 0 0 -6 7],conv(u,v)u =1 2 4 6v =5 0 0 -67ans =5 10 20 24 -5 -10 -8 42 >> v=[1 2 46 ],u=[5 0 0 -6 7],deconv(u,v) v =1 2 4 6u =5 0 0 -67 ans =5 -1010、(点乘是数组的运算,没有点的乘是矩阵运算)>> a = [2 5;3 4], b =[3 1;4 7],a.*b,a*ba =2 53 4b =3 14 7ans =6 512 28ans =26 3725 31>> a = [2 3]; b = [4 7];a.*b = [8 21];a*b %错误a*b' = 29;11、(who 可以看到你用过的一些变量,来了)>> whowhos 是把该变量及所存储的大小等信息都显示出Your variables are:A B a ans b p u>> whosName Size BytesClass Attributes2x2 32 doubleB 2x2 32 doublea 1x2 16 d oubleans 1x2 16 d oubleb 1x2 16 d oublep1x3 24 d oubleu 1x5 40 d oublev 1x4 32 d ouble12、>> A=[2 5 3;6 5 4],disp(A),size(A),length(A)A =2 5 36 5 42 5 36 5 4ans =2 3ans =3实验二MATLAB 绘图命令实验任务熟悉MATLAB基本绘图命令,掌握如下绘图方法:1.坐标系的选择、图形的绘制;2 •图形注解(题目、标号、说明、分格线)的加入;3 •图形线型、符号、颜色的选取基本命令训练1、>>t=[0:pi/360:2*pi];x=cos(t)+ cos(t*4);y=si n( t)+ sin (t*4);xlabel('x 轴');ylabel('y 轴');plot(y,x),grid;2、>>t=0:0.1:100; x=3*t;y=4*t;z=si n( 2*t);■15 i 0 5 0 05 1 1 5 2 plot3(x,y,z, 'g:')3、>>x = linspace(-2*pi,2*pi,40);y=si n( x);stairs(x,y)4、>>t=[0:pi/360:2*pi]; x=cos(t)+cos(t*4) + sin (t*4);y=si n( t)+ si n( t*4);plot(y,x, 'r:');xlabel('x 轴');ylabel('y 轴');6、>>th=[0:pi/20:2*pi];x=exp(j*th);plot(real(x),imag(x),'r-.');grid; text(0,0,'中心');5、>>th=[0:pi/1000:2*pi]';r=cos(2*th);polar(th,r);title( '四叶草图')四叶草图107、>>x=-2:0.01:2; 8、y=-2:0.01:2; 9、[X,Y] = meshgrid(x,y); Z = Y.*exp(-X.A 2-Y.A 2); [C,h] = con tour(X, YZ); set(h,'ShowText','o n','TextStep',get(h,'LevelStep')*2)_1O S•I,52■n.s o o.s8、>>x = 0:0.2:10; y = 2*x+3; subplot(411);plot(x,y); grid;title('y 的原函数');subplot(412) ;semilogy(x,y); grid;title('对 y 取对数'); 丫的原画数40 ----------- 1 ------------------------------------------- 1 --------------------- 1 ----------------------1 ------------------------------------------- 1 --------------------- 1---------------------1 --------l|Ip|il■|i|I九 ____ 1-___ — ___ I ____ L ___ :……: ___ J _ _______ L ___ ui|I|lI, il _ -■」 " jI■I__ h- ____________ II■Q 」【I1FIIIIIIIIIT 101 □123456r69 10, 对y 取对数对弋观对数subplot(413) ;semilogx(x,y);10 10 id101lZ10w10104020 0 对好对数grid;title('对x 取对数');subplot(414) ;loglog(x,y);grid;title('对xy均取对数');9、>>x = -3:0.3:3;bar(x,exp(-x.*x),'g')实验三MATLAB程序设计实验任务1 •熟悉MATLAB 程序设计的方法和思路;2 •掌握循环、分支语句的编写,学会使用look for、help命令程序举例1、>>f=[1,1];i=1;while f(i)+f(i+1)<1000f(i+2)=f(i)+f(i+1);i=i+1;endf,if =Columns 1 through 141 123 5 8 13 21 34 55 89 144 233 377 Columns 15 through 16610 987i =152、>>m=3;n=4;for i=1:mfor j=1:na(i,j)=1/(i+j-1);endendformat rat1 1/2 1/3 1/2 1/3 1/4 1/31/41/5 (分数格式形式。

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

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

控制系统仿真实验说明书Matlab部分目录前言 ............................................................................................................ 错误!未定义书签。

实验一MATLAB基本操作 (2)实验二MATLAB编程 (6)实验三MATLAB底层图形控制 (6)实验四控制系统古典分析 (6)实验五控制系统现代分析 (6)实验六PID控制器的设计 (12)实验七系统状态空间设计 (14)实验八磁悬浮系统仿真 (16)实验九直流双闭环调速系统仿真 (20)实验十倒立摆控制系统仿真 (21)实验一MATLAB基本操作实验目的1.熟悉MATLAB实验环境,练习MATLAB命令、m文件基本操作。

2.利用MATLAB编写程序进行矩阵运算、图形绘制、数据处理等。

3. 熟悉矩阵相关的基本函数和命令。

4.熟练使用帮助。

实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。

MATLAB 有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。

1.命令窗口(The Command Window)当MA TLAB启动后,出现的最大的窗口就是命令窗口。

用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。

在MA TLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。

在命令窗口中输入该文件名,这一连串命令就被执行了。

因为这样的文件都是以“.m”为后缀,所以称为m-文件。

2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。

控制系统仿真实验指导书(学生)

控制系统仿真实验指导书(学生)

《控制系统仿真》实验指导书天津大学仁爱学院2013年9月实验一MATLAB平台认识、编程初步实验一、实验目的1、了解MATLAB语言环境。

2、练习MATLAB命令的基本操作。

3、练习M文件的基本操作。

二、实验内容1、了解MATLAB语言环境1)MATLAB语言操作界面。

用鼠标双击图标即可打开MATLAB可见多个窗口:”Command Window” Command history”, ”workspace”等,在命令窗口”Command Wind ow”中,在命令提示符位置键入命令,完成下面的练习。

2.练习MATLAB命令的基本操作1)键入常数矩阵输入命令:a=[1 2 3]a=[1;2;3]记录结果,比较显示结果有何不同:b=[1 2 5]b=[1 2 5];记录结果,比较显示结果有何不同:c=a*b c=a*b′记录结果,比较变量加“′”后的区别:a=[1 2 3;4 5 6;7 8 0]a^2a^0.5记录显示结果。

2)作循环命令程序:>>makesum=0;for i=1:1:100;makesum=makesum+i;end键入makesum,按回车键,记录计算结果。

3)分别执行下列命令:a=[1 2 3;4 5 6;7 8 0]poly(a)rank(a)det(a)trace(a)inv(a)eig(a)分别写出命令含义、记录结果。

3.练习M文件的基本操作1)新建文件,建.M文件2)输入程序function [m,s]=findsum(k)s=0;m=0;while (s<=k),m=m+1;s=s+m; end3)另存为“findsum.m”文件这样就可以在MATLAB环境中对不同的k值调用该函数了。

例如,若想求出大于的最小m值,则可以得出如下命令:在命令窗口中输入>>[m1,s1]=findsum(),观察记录结果。

三、实验报告要求按照上述步骤进行实验,并按实验记录完成实验报告。

系统仿真技术实验指导书(2014年春季实验1-6)

系统仿真技术实验指导书(2014年春季实验1-6)

《系统仿真技术》实验指导书成新明、胡扬编写中南大学信息科学与工程学院2014年5月18日目录实验一MATLAB中矩阵与多项式的基本运算 (1)实验二MATLAB绘图命令 (2)实验三MATLAB程序设计 (3)实验四MATLAB的符号计算与SIMULINK的使用 (5)实验五MATLAB在控制系统分析中的应用 (8)实验六连续系统数字仿真的基本算法 (15)实验一MATLAB中矩阵与多项式的基本运算一、实验任务1.了解MATLAB命令窗口和程序文件的调用。

2.熟悉如下MATLAB的基本运算:①矩阵的产生、数据的输入、相关元素的显示;②矩阵的加法、乘法、左除、右除;③特殊矩阵:单位矩阵、“1”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算;④多项式的运算:多项式求根、多项式之间的乘除。

二、基本命令训练1.eye(m)2.one(n)、ones(m,n)3.zeros(m,n)4.rand(m,n)5.diag(v)6.A\B 、A/B、inv(A)*B 、B*inv(A)7.roots(p)8.poly9.conv 、deconv10.A*B 与A.*B的区别11.who与whos的使用12.disp、size(a)、length(a)的使用三、实验要求根据实验内容和相关命令进行实验,自拟输入元素,将上述各命令的输入和输出结果写成实验报告一(全部实验完成后交实验报告)。

一、实验任务熟悉MATLAB基本绘图命令,掌握如下绘图方法:1.坐标系的选择、图形的绘制;2.图形注解(题目、标号、说明、分格线)的加入;3.图形线型、符号、颜色的选取。

二、基本命令训练1.plot 2.loglog 3.semilogx 4.semilogy5.polar 6.title 7.xlabel 8.ylabel9.text 10.grid 11.bar 12.stairs13.contour三、实验举例1.t=[0:pi/360:2*pi*22/3];x=93*cos(t)+36*cos(t*4.15);y=93*sin(t)+36*sin(t*4.15);plot(y,x),grid;2. t=0:0.05:100;x=t;y=2*t;z=sin(2*t);plot3(x,y,z,'b:')3.t=0:pi/20:2*pi;y=sin(x);stairs(x,y)4.th=[pi/200:pi/200:2*pi]';r=cos(2*th);polar(th,r),grid5. th=[0:pi/10:2*pi];x=exp(j*th);plot(real(x),imag(x),'r*');grid;四、实验要求在两种或两种以上坐标系绘制3~5个图形,要有颜色、图形种类、注解的不同实验结果写成实验报告二(全部实验完成后交实验报告)。

中南大学控制系统仿真matlab实验报告自主知识产权优秀版

中南大学控制系统仿真matlab实验报告自主知识产权优秀版

控制系统数字仿真实验报告所在学院:机电工程学院专业班级:学生姓名:学生学号:实验一数字仿真方法验证一、实验目的1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;3.熟悉MATLAB语言及应用环境。

二、实验环境网络计算机系统,MATLAB语言环境三、实验内容1.将示例1的问题改为ode45函数求解程序:function dy = vdp( t,y )%UNTITLED2 Summary of this function goes here% Detailed explanation goes heredy=[y-2*t/y];end[t,y]=ode45('vdp',[0 1],1);figure(1);plot(t,y,'r-');xlabel('t');ylabel('y');hold on;2. 试用四阶RK 法编程求解下列微分方程初值问题。

仿真时间2s ,取步长h=0.1。

⎪⎩⎪⎨⎧=-=1)0(2y t y dt dy程序: clear t0=0; u0=1; h=0.1; n=2/h; u(1)=1; t(1)=0; for i=1:nk1=u0-t0*t0;k2=(u0+h*k1/2)-(t0+h/2)*(t0+h/2); k3=(u0+h*k2/2)-(t0+h/2)*(t0+h/2); k4=(u0+h*k3)-(t0+h)*(t0+h); u1=u0+h*(k1+2*k2+2*k3+k4)/6; t1=t0+h; u0=u1; t0=t1; u(i+1)=u1; t(i+1)=t1; endfigure(1)plot(t,u,'r');3.试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。

程序:clear% Create system modelA=[-0.5572 -0.7814 ;0.7814 0];B=[1;0];C=[1.9691 6.4493];D=0;sys=ss(A,B,C,D);% Squre response of the systemsubplot(2,2,1);[u,t]=gensig('square',5,20,0.1);plot(t,u,'r--');hold on;lsim(sys,u,t);hold off;grid on;% impulse response of the systemsubplot(2,2,2);impulse(sys,20);grid on;实验二SIMULINK动态仿真一、实验目的1.掌握SIMULINK动态仿真;2.熟悉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

中南大学控制系统仿真技术实验指导书1
6
I=100Sin(ωt-π/4)曲线,线条分别用不同颜色表示; (2)在右窗口,绘制 P=V·I 曲线,线型用“*”符号。
练习 2-2.绘制以下函数图形:
(1)
y (t ) 1 2e t sin(t )
(0 t 8)
且在 X 轴写上“Time” 标号,Y 轴写上“Amplitude” 标号,图形的标题为 “Decaying-oscillating Exponential”.
9
j=j+1; end; t2=t(j);tr=t2-t1; %Finding settling time (two percent)Ts i=dimt+1;n=0; while n==0; i=i-1; if i==1; n=1; elseif y(i)>=1.02; n=1; end; end; t1=t(i);i=dimt+1;n=0; while n==0; i=i-1; if y(i)<=0.98; n=1; end; t2=t(i); if t1>t2; ts2=t1; else ts2=t2; end; end;
图 1-1 MATLAB 系统命令窗口 MATLAB 的默认界面由三部分组成: ① Command Windows 命令窗口
2
② Command History
历史窗口
③ Workspace 工作空间
2. 练习 MATLAB 系统命令的使用。 ① 表达式 MATLAB 的表达式由变量、 数值、 函数及操作符构成。 实验前应掌握有关变量、 数值、函数及操作符的有关内容及使用方法。
G1 (S)
2 s 2s 2
2
G2 (S)
4s 2 s 2s 2

控制系统CAD与仿真实验指导书

控制系统CAD与仿真实验指导书

《控制系统CAD与仿真》实验指导书计控学院自动化系实验一 Matlab 运算基础一、 实验目的1、熟悉启动和退出Matlab 的方法;2、熟悉Matlab 命令窗口的组成;3、掌握建立矩阵的方法;二、 实验内容:1、帮助命令使用help 命令,查找 sqrt (开方)函数的使用方法;2、先求下列表达式的值,然后显示Matlab 工作空间的使用情况并保存全部变量。

0.3,9.2,8.2,...,8.2,9.2,0.3,23.0ln )3.0sin(2)3(545.0212),1log(21)2(185sin 2)1(3.03.032221---=+++-=⎥⎦⎤⎢⎣⎡-+=++=+=-a a a e e z i x x x z e z a a 其中 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。

⎪⎩⎪⎨⎧=<≤+-<≤-<≤=5.2:5.0:0,32,1221,110,)4(2224t t t t t t t t z 其中提示:用逻辑表达式求分段函数值。

3、已知:三、 预习要求:利用所学知识,编写实验内容中1到3的相应程序,并写在预习报告上。

实验二 结构程序设计一、 实验目的1、掌握利用while 语句实现循环结构的方法。

2、掌握利用if 语句实现选择结构的方法。

3、掌握利用switch 语句实现多分支选择结构的方法。

二、 实验内容:1、计算1+2+…+n<2000时的最大n 值。

2、计算分段函数⎪⎩⎪⎨⎧≥+-<≤-<=2122111222x x x x x x x y 的值。

3、给出一个学生的百分制成绩,要求转化成成绩等级输出,等级分为’A ’、’B ’、’C ’、’D ’、’E ’五等。

90分以上为’A ’,80~89为’B ’,70~79为’C ’,60~69为’D ’、60分以下为’E ’。

三、 预习要求:利用所学知识,编写实验内容中1到3的相应程序,并写在预习报告实验三 三种系统数学模型之间的转换一、 实验目的1、掌握如何将LTI 对象转换为传递函数模型2、掌握如何将LTI 对象转换为零极点增益模型3、掌握如何将LTI 对象转换为状态空间模型二、 实验内容:1、将LTI 对象转换为传递函数模型(1)已知系统状态空间模型:u x x ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=40205.09.85.101.0105.01.03.0.;[]x y 3,2,1=, 求其等效的传递函数模型。

控制系统仿真与工具(matlab)实验指导书

控制系统仿真与工具(matlab)实验指导书

控制系统仿真与工具实验指导书目录实验一熟悉MATLAB语言工作环境和特点 (1)实验二图形绘制与修饰 (4)实验三系统的时间响应分析 (8)实验四系统的时间响应分析 (12)实验五SIMULINK仿真基础 (14)实验一熟悉MATLAB语言工作环境和特点一、实验目的通过实验使学生熟悉MA TLAB语言的工作环境,并了解MATLAB语言的特点,掌握其基本语法。

二、实验设备PC机MATLAB应用软件三、实验内容本实验从入门开始,使学生熟悉MA TLAB的工作环境,包括命令窗、图形窗和文字编辑器、工作空间的使用等。

1、命令窗(1)数据的输入打开MATLAB后进入的是MA TLAB的命令窗,命令窗是用户与MATLAB做人机对话的主要环境。

其操作提示符为“》”。

在此提示下可输入各种命令并显示出相应的结果,如键入:x1=sqrt(5),x2=1.35,y=3/x2显示结果为:x1=2.2361x2=1.3500y=2.2222上命令行中两式之间用逗号表示显示结果,若用分号,则只运行而不用显示运行结果。

如键入A=[1,2,3;4,5,6;7,8,9],则显示为说明:●直接输入矩阵时,矩阵元素用空格或逗号分隔,矩阵行用分号相隔,整个矩阵放在方括号中。

注意:标点符号一定要在英文状态下输入。

●在MA TLAB中,不必事先对矩阵维数做任何说明,存储时自动配置。

●指令执行后,A被保存在工作空间中,以备后用。

除非用户用clear指令清除它,或对它重新赋值。

●MATLAB对大小写敏感。

(2)数据的显示在MA TLAB工作空间中显示数值结果时,遵循一定的规则,在缺省的情况下,当结果是整数,MATLAB将它作为整数显示;当结果是实数,MATLAB以小数点后4位的精度近似显示。

如果结果中的有效数字超出了这一范围,MATLAB以类似于计算器的计算方法来显示结果。

也可通过键入适当的MA TLAB命令来选择数值格式来取代缺省格式。

如键入format bank命令(数据格式显示命令,数据小数部分以两个十进制小数表示),若在前面键入的三个表达式前键入上述格式命令,则显示结果为:x1=2.24x2=1.35y=2.22前面显示的结果为默认显示结果,它的小数部分为四位数,还有format compact 它以紧凑格式显示结果,默认显示方式为稀疏格式。

控制系统仿真实验指导书(DOC)

控制系统仿真实验指导书(DOC)

目录实验1 Matlab矩阵运算 (2)实验2 M文件编程 (5)实验3 MATLAB控制系统数学模型及其转换 (6)实验4 MATLAB控制系统时域分析 (9)实验5 MATLAB控制系统频域分析 (15)实验6 Simulink仿真方法练习 (19)实验7 MATLAB控制系统超前和滞后校正器设计 (22)实验8 MATLAB控制系统PID调节器设计 (23)实验1 Matlab矩阵运算一、实验目的1、掌握向量和矩阵的创建方法;2、掌握向量和矩阵元素的索引方法;3、掌握向量和矩阵的基本操作;4、利用MATLAB编写程序进行矩阵运算。

二、基础知识2、常量与变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,数值型向量(矩阵)的输入①任何矩阵(向量),可以直接按行方式……输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。

所有元素处于一方括号([ ])内;例1:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]>> X_Data = [2.32 3.43;4.37 5.98]上面函数的具体用法,可以用帮助命令help得到。

如:meshgrid(x,y)输入 x=[1 2 3 4]; y=[1 0 5]; [X,Y]=meshgrid(x, y),则X = Y =1 2 3 4 1 1 1 11 2 3 4 0 0 0 01 2 3 4 5 5 5 5目的是将原始数据x,y转化为矩阵数据X,Y。

3、数组(矩阵)的点运算运算符:+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),例3:>> g = [1 2 3 4];h = [4 3 2 1];>> s1 = g + h, s2 = g.*h, s3 = g.^h, s4 = g.^2, s5 = 2.^h4、矩阵的运算运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)例4:>> A= [2 0 –1; 1 3 2]; B= [1 7 –1; 4 2 3; 2 0 1];>> M = A*B % 矩阵A与B按矩阵运算相乘>> det_B = det(B) % 矩阵A的行列式>> rank_A = rank(A) % 矩阵A的秩>> inv_B = inv(B) % 矩阵B的逆矩阵>> [V,D] = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D>> X = A/B % A/B = A*B-1,即XB=A,求X>> Y = B\A % B\A = B-1*A,即BY=A,求Y三、实验内容1、练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过。

中南大学最优控制实验报告

中南大学最优控制实验报告

实验一 无限时间状态调节器问题的最优控制MATLAB 仿真1.实验目的:(1) 通过上机操作,加深最优控制理论知识的理解。

(2) 学习并掌握连续线性二次型最优控制的MATLAB 实现。

(3) 通过上机实验,提高动手能力,提高分析和解决问题的能力。

2.实验步骤:(1)实验一中的状态方程如下:(1)⎩⎨⎧==)()(221t x x t u x ⎩⎨⎧==0)0(0)0(21x x (2)[]xy u x x 0011006411000`10=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---= 根据状态方程(1),令输出量y(t)=x 1(t),写出对应的A,B,C,D 矩阵如下:0001A ⎡⎤=⎢⎥⎣⎦10B ⎡⎤=⎢⎥⎣⎦ []10C = 0D = 根据状态方程(2),写出对应的A,B,C,D 矩阵如下:010001146A ⎡⎤⎢⎥=⎢⎥⎢⎥---⎣⎦ 001B ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦ []100C = D=0(2)判定上述两个系统的可控性,分别求的第一个系统的秩判据[]rank B AB =1<2,因此对应的系统不完全可控,所以无法设计对应的状态调节器。

第二个系统对应的秩判据2rank BAB A B ⎡⎤⎣⎦=3,满足条件,因此可设计出对应的状态调节器。

(3)根据从系统中得到的四个状态矩阵,由于是三维矩阵,对应的Q 矩阵也为三维矩阵,取性能指标为:0()T T J x Qx u Ru dt ∞=+⎰,其中矩阵Q 的对角线上的值分别为:Q11、Q22、Q33,令R=1,则接下来就是通过改变Q11、Q22、Q33的值,即三个状态量在整个性能指标所占比重,来找到一组比较合适的数以使控制效果相对最优。

(4)运用Matlab 编写M-file 求出对应不同Q 矩阵权重值的控制向量K ,改变权重,便可得到不同的控制向量K ,比较对应得到的阶跃响应信号及状态量的变化曲线,分析实验结果。

(5)由得到的控制向量K ,可知:u Kx =-。

控制系统仿真与工具(matlab)实验指导书精选全文

控制系统仿真与工具(matlab)实验指导书精选全文

可编辑修改精选全文完整版控制系统仿真与工具实验指导书目录实验一熟悉MATLAB语言工作环境和特点 (1)实验二图形绘制与修饰 (4)实验三系统的时间响应分析 (8)实验四系统的时间响应分析 (12)实验五SIMULINK仿真基础 (14)实验一熟悉MATLAB语言工作环境和特点一、实验目的通过实验使学生熟悉MA TLAB语言的工作环境,并了解MATLAB语言的特点,掌握其基本语法。

二、实验设备PC机MATLAB应用软件三、实验内容本实验从入门开始,使学生熟悉MA TLAB的工作环境,包括命令窗、图形窗和文字编辑器、工作空间的使用等。

1、命令窗(1)数据的输入打开MATLAB后进入的是MA TLAB的命令窗,命令窗是用户与MATLAB做人机对话的主要环境。

其操作提示符为“》”。

在此提示下可输入各种命令并显示出相应的结果,如键入:x1=sqrt(5),x2=1.35,y=3/x2显示结果为:x1=2.2361x2=1.3500y=2.2222上命令行中两式之间用逗号表示显示结果,若用分号,则只运行而不用显示运行结果。

如键入A=[1,2,3;4,5,6;7,8,9],则显示为说明:●直接输入矩阵时,矩阵元素用空格或逗号分隔,矩阵行用分号相隔,整个矩阵放在方括号中。

注意:标点符号一定要在英文状态下输入。

●在MA TLAB中,不必事先对矩阵维数做任何说明,存储时自动配置。

●指令执行后,A被保存在工作空间中,以备后用。

除非用户用clear指令清除它,或对它重新赋值。

●MATLAB对大小写敏感。

(2)数据的显示在MA TLAB工作空间中显示数值结果时,遵循一定的规则,在缺省的情况下,当结果是整数,MATLAB将它作为整数显示;当结果是实数,MATLAB以小数点后4位的精度近似显示。

如果结果中的有效数字超出了这一范围,MATLAB以类似于计算器的计算方法来显示结果。

也可通过键入适当的MA TLAB命令来选择数值格式来取代缺省格式。

《控制系统仿真与CAD》实验指导书

《控制系统仿真与CAD》实验指导书

《控制系统仿真与CAD》实验指导书适用自动化、测控、电气、电控荷专业电气自动化系自动化教研室2011年2月实验1:M函数的编写1. 实验目的掌握在Matlab环境下编写并运行M函数的操作方法。

2. 实验内容对给定的二阶欠阻尼传递函数,编制一个函数程序,计算阶跃响应的特征参数:超调量б% 、峰值时间Tp、上升时间Tr、过渡过程时间Ts(2%)。

b=7500; a=[1, 34.5, 7500];3. 实验步骤(1) 开机后在Windows状态下,启动Matlab7.1环境;(2) MATLAB的Editor/Debugger窗口来编辑程序;(3) 输入下列源程序:% mp:超调量,Tp:峰值时间,Tr:上升时间,T s:调节时间function [mp,Tp,Tr,Ts]=exp1(num,den)t=0:0.005:1;y=step(num,den,t);plot(t,y);%求mp与TpN=length(t);yss=y(N); %yss:稳态值[ymax,i]=max(y);mp=(ymax-yss)*100/yss;Tp=t(i);%求Tryr1=0.1*yss;yr2=0.9*yss;i=1;while y(i)<yr1i=i+1;endt1=t(i);while y(i)<yr2i=i+1;endt2=t(i);Tr=t2-t1;%求Ts:调节时间symbol=0; %symbol:超标标志for i=1:1:Nfor j=1:1:N-iif(abs(y(i+j)-yss)/yss>0.02)symbol=1;endendif symbol==1symbol=0;elsebreak;endendTs=t(i);i=N;while abs(y(i)-yss)/yss<=0.02i=i-1;endTs=t(i);(4) 把源程序以文件形式保存到MATLAB的Work子目录下;(5) 调用编写的函数程序,运行源程序;(6) 打印源程序清单,并将二阶欠阻尼系统性能指标的结果保存。

《控制系统CAD及仿真语言》实验指导书

《控制系统CAD及仿真语言》实验指导书

《控制系统CAD与仿真》实验指导书计算机与控制学院自动化系实验一 Matlab使用方法和程序设计一、实验目的1、掌握Matlab软件使用的基本方法;2、熟悉Matlab的数据表示、基本运算和程序控制语句;3、熟悉Matlab程序设计的基本方法;二、实验内容:1、帮助命令使用help命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知A=[1 2;3 4]; B=[5 5;7 8];求A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有列第2,3行的元素;(5)方括号[]用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列3、多项式(1)求多项式3()24p x x x =--的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] , 求矩阵A 的特征多项式;求特征多项式中未知数为20时的值; 把矩阵A 作为未知数代入到多项式中; 4、 基本程序设计(1)编写命令文件:计算1+2+…+n<2000时的最大n 值;(2)编写函数文件:分别用for 和while 循环结构编写程序,求2的0到n 次幂的和。

(3)如果想对一个变量x 自动赋值。

当从键盘输入y 或Y 时(表示是),x 自动赋为1; 当从键盘输入n 或N 时(表示否),x 自动赋为0;输入其他字符时终止程序实验二 Matlab 数据可视化一、实验目的1、熟悉Matlab 绘图命令及基本绘图控制 二、实验内容 1. 基本绘图命令绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5), t ∈[0,2π] (1)、在一幅图上绘制两条曲线; (2)、在一个图形窗口绘制两幅图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求 y1 的最小值与最大值。
(5)对应 0≤t≤25 区域内,在同一图中绘制下列函数。
7
y1 (t ) 1.25e t y 2 (t ) 2.02e 0.3t y 3 (t ) 2.02e 0.3t cos(0.554t 128) 1.25e t
求 y3(t)值: y(t=0)、ymax、ymin 和 y(t=12)
(四)
实验内容
a)Matlab GUI 编程示例 1.首先我们新建一个 GUI 文件:File/New/GUI 如下图所示;
选择 Blank GUI(Default)
11
2.进入 GUI 开发环境以后添加两个编辑文本框,6 个静态文本框,和一个按钮, 布置如下图所示;
布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。 3.我们先为数据 1 文本框添加代码;
(二)
实验设备
计算机,Matlab 软件
(三)
实验要求
本实验属于设计实验, 请先根据 (四) 实验内容的 (a) 【Matlab GUI 编程示例】 , 并完成(b) 【实验操作】 。 请在页眉处填写班级、 学号、 姓名, 并将实验报告命名为 “实验三_学号_姓名” , 并通过 FTP 上传至指定文件夹。
(2)在 0≤t≤10 区间内绘制如下图形:
y (t ) 1.23 cos(2.83t 240 ) 0.625
x(t ) 0.625
在同一个图中绘制上述函数, 求出 Y(t=0)和 Y(t=10)的点。 (注意弧度与角度的 区别) 。 (3)绘制如下图形:
y (t ) 5e 0.2t cos(0.9t 30) 0.8e 2t
%程序中,pos 为超调量σ%。
10
实验三 MATLAB_GUI 界面
(一)
实验目的
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指 采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比, 图形界面对于用户来说在视觉上更易于接受。 通过 Matlab GUI 编程示例仿真掌握 GUI 界面的设计;
《控制系 中南大学信息科学与工程学院
2013 年 1 月
1
实验一 MATLAB 的实验环境及基本命令
一 实验目的:
1. 学习了解 MATLAB 的实验环境 2. 在 MATLAB 系统命令窗口练习有关 MATLAB 命令的使用。
二 实验步骤
1. 学习了解 MATLAB 的实验环境: 在 Windows 桌面上,用 mouse 双击 MATLAB 图标,即可进入 MATLAB 系统命令 窗口:

③矩阵基本运算操作。
3
要求熟悉矩阵的输入方法及矩阵运算的有关命令。
练习 1-4 求出下列运算结果,并上机验证。已知矩阵:
11 21 A 31 41
12 22 32 42
13 23 33 43
14 24 34 44
(1) A(: ,1) (2)A(2, : ) (3)A(: ,2:3) (4)A(2:3,2:3) (5) A(: ,1:2:3) (6)A(2:3) (7)A(: ) (8)A(: , : ) (9) ones(2,2) (10)eye(2) (11)[A,[ones(2,2);eye(2)]] (15)diag(A,2) (19)tril(A)
12
选择 edit1_Callback,右键选择 View Callbacks/callback function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double 然后在上面这段代码的下面插入如下代码: %以字符串的形式来存储数据文本框 1 的内容. 如果字符串不是数字, 则显示空白内 容 input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为 0 if (isempty(input)) set(hObject,'String','0') end guidata(hObject, handles); 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为 edit2_Callback 添加同样一段代码 5. 现在我们为计算按钮添加代码来实现把数据 1 和数据 2 相加的目的。 用 3 中同样的方法在 m 文件中找到 pushbutton1_Callback 代码段 如下; function pushbutton1_Callback(hObject, eventdata, handles)
(2)求矩阵 B1, B1 中每一元素为对应矩阵 A 中每一元素的正弦函数; (3)求矩阵 B2, B2 中每一元素为对应矩阵 A 中每一元素的余弦函数; (4)求 B1^2+B2^2.。
练习 1-6 利用基本矩阵产生 3×3 和 5×5 的单位阵、全 1 阵、全 0 阵、均匀分布随 机阵([-1,1]之间) 、正态分布随机阵(均值为 1、方差为 4) 。
9
j=j+1; end; t2=t(j);tr=t2-t1; %Finding settling time (two percent)Ts i=dimt+1;n=0; while n==0; i=i-1; if i==1; n=1; elseif y(i)>=1.02; n=1; end; end; t1=t(i);i=dimt+1;n=0; while n==0; i=i-1; if y(i)<=0.98; n=1; end; t2=t(i); if t1>t2; ts2=t1; else ts2=t2; end; end;
8
% optional comment lines for documentation MATLAB commands
练习 2-5 阅读计算阶跃响应特征参数的函数文件,并编写主程序调用该函数文件 (见附录) ,求: ⑴超调量σ%;⑵上升时间 Tr; ⑶峰值时间 Tp; ⑷过渡过程时间 Ts;
练习 2-6 参考练习 2-5 程序,编写程序计算下列传递函数的阶跃响应特参数:⑴ 超调量σ%;⑵上升时间 Tr; ⑶峰值时间 Tp; ⑷过渡过程时间 Ts;
G1 (S)
2 s 2s 2
2
G2 (S)
4s 2 s 2s 2
2
G3 (S)
1 2s 3s 2 3s 1
3
—-——————————————————————————— 附录: 计算超调量σ%、 上升时间 Tr、 峰值时间 Tp、 过渡过程时间 Ts 的函数文件;
练习 1-2 已知:X=[2 ;-4;8]
R [tg , 9, 5] 4
求 :Y=R' ;P=5*R;E=X.*Y;S=X'* Y 练习 1-3 ⑴产生每个元素为 1 的 4 维的行向量; ⑵产生每个元素为 0 的 4 维的列向量; ⑶产生一个从 1 到 8 的整数行向量,默认步长为 1; ⑷产生一个从π到 0,间隔为π/3 的行向量;
% MATLAB PROGRAM EG2-4 function [pos,tr,ts2,tp]=stepchar(t,y); %finding Pos and Tp [mp,ind]=max(y);dimt=length(t); yss=y(dimt); pos=100*(mp-yss)/yss; tp=t(ind); i=1;j=1;k=1;q=1; while y(i)<0.1; i=i+1; end; t1=t(i); while y(j)<0.9;
5 x 5 , 5 y 5 z 1 1.5 2 2 ( x 1) ( y 1) 1 ( x 1) ( y 1) 2 1
2
2.编辑函数文件 函数是 MATLAB 扩展功能的 M 文件。许多 MATLAB 命令与全部工具箱命令都 是用 M 文件格式写成的。程序文件与函数文件的主要区别在于,函数允许通过数 值进行参数传递,而且函数使用局部变量而不是对整个工作空间中变量的操作。 另外一个不同点是,函数文件的第一行必须包括“function”这个词。下面是一个 典型的函数文件格式: function[out1,out2,…]=filename(in1,in2,…)
(0 t 30)
(4)在 0≤t≤20 区间内,且在同一图中绘制如下函数图形:
y 1 ( t ) 2 . 62 e 0 . 25 t cos( 2 . 22 t 174 ) 0 . 6 y 2 ( t ) 2 . 62 e 0 . 25 t 0 . 6 y 3 (t ) 0 .6
(12)diag(A) (13)diag(A,1) (16)fliplr(A)
(14)diag(A,-1) (18)rot90(A)
(17)flipud(A)
练习 1-5 用 MATLAB 命令完成下列矩阵函数运算: (1) 输入如下矩阵 A:
/ 3 0 A / 6 / 2
练习 1-7 产生一均匀分布在(-5,5)之间的随机阵(50×2) ,要求精确到小数点 后一位。
相关文档
最新文档