您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 中南大学控制系统仿真技术实验指导书1
1《控制系统仿真技术》实验指导书编写:徐德刚中南大学信息科学与工程学院2013年1月2实验一MATLAB的实验环境及基本命令一实验目的:1.学习了解MATLAB的实验环境2.在MATLAB系统命令窗口练习有关MATLAB命令的使用。二实验步骤1.学习了解MATLAB的实验环境:在Windows桌面上,用mouse双击MATLAB图标,即可进入MATLAB系统命令窗口:图1-1MATLAB系统命令窗口MATLAB的默认界面由三部分组成:①CommandWindows命令窗口3②CommandHistory历史窗口③Workspace工作空间2.练习MATLAB系统命令的使用。①表达式MATLAB的表达式由变量、数值、函数及操作符构成。实验前应掌握有关变量、数值、函数及操作符的有关内容及使用方法。练习1-1:计算下列表达式:要求计算完毕后,键入相应的变量名,查看并记录变量的值。②向量运算:n维向量是由n个成员组成的行或列数组。在MATLAB中,由分号分隔的方括号中的元素产生一个列向量;由逗号或空号分隔的方括号中的元素产生一个行向量;同维的向量可进行加减运算,乘法须遵守特殊的原则。练习1-2已知:X=[2;-4;8]求:Y=R';P=5*R;E=X.*Y;S=X'*Y练习1-3⑴产生每个元素为1的4维的行向量;⑵产生每个元素为0的4维的列向量;⑶产生一个从1到8的整数行向量,默认步长为1;⑷产生一个从π到0,间隔为π/3的行向量;③矩阵基本运算操作。)6sin(/250d2/)101(a)sin(3.2ecib53]5,9,4[tgR4要求熟悉矩阵的输入方法及矩阵运算的有关命令。练习1-4求出下列运算结果,并上机验证。已知矩阵:(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)]](12)diag(A)(13)diag(A,1)(14)diag(A,-1)(15)diag(A,2)(16)fliplr(A)(17)flipud(A)(18)rot90(A)(19)tril(A)练习1-5用MATLAB命令完成下列矩阵函数运算:(1)输入如下矩阵A:(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)。练习1-7产生一均匀分布在(-5,5)之间的随机阵(50×2),要求精确到小数点后一位。练习1-8编程实现当a∈[-π,π],间隔为1°时,求解正弦、余弦的值。44434241343332312423222114131211A2/6/3/0A5练习1-9利用rand函数产生(0,1)间均匀分布的10×10随机阵a,然后统计a中大于等于0.6的个数。练习1-10利用randn函数产生均值为0,方差为1的10×10正态分布随机阵a,然后统计a中大于-0.5,小于0.5的元素个数。3.退出MATLAB环境在命令提示符””位置键入命令:exit或者quit执行以上命令可以退出MATLAB环境。6实验二程序文件与函数文件的应用一.实验目的:1.熟悉MATLAB系统M文件的基本操作;2.熟练应用MATLAB有关的图形函数,绘制函数图形。二.实验内容1.MATLAB程序文件:①编辑程序文件当完成一个功能需要许多MATLAB命令时,可以将这些命令按特定的顺序组合在一起,存储在一个程序文件中,就得到了MATLAB程序,其文件名的后缀为*.M,故也称为M文件。在命令窗口的FILE菜单或工具栏上选择NEW命令——M-file,即可开始编辑M文件。MATLAB编辑器与其它WINDOWS编辑程序类似。②保存M文件编辑M文件后,在命令窗口的FILE菜单或工具栏上选则SAVEAS命令存盘,文件应以*.M为后缀。③执行M文件在MATLAB系统命令窗口下,在提示符””处键入所编辑的M文件名后,即可执行该文件。在执行中若发现错误,系统将给出提示。此时可再次进入编辑器中修改程序,直至程序能正确执行为止。编写下列题目M文件,调试并运行:练习2-1.将图形窗口分割成1×2的空格,设ωt∈[0,2π],以π/50为步长,绘制下列函数图形:(1)在左窗口,以ωt为横坐标,绘制V=120Sinωt和7I=100Sin(ωt-π/4)曲线,线条分别用不同颜色表示;(2)在右窗口,绘制P=V·I曲线,线型用“*”符号。练习2-2.绘制以下函数图形:且在X轴写上“Time”标号,Y轴写上“Amplitude”标号,图形的标题为“Decaying-oscillatingExponential”.(2)在0≤t≤10区间内绘制如下图形:在同一个图中绘制上述函数,求出Y(t=0)和Y(t=10)的点。(注意弧度与角度的区别)。(3)绘制如下图形:(4)在0≤t≤20区间内,且在同一图中绘制如下函数图形:求y1的昀小值与昀大值。(5)对应0≤t≤25区域内,在同一图中绘制下列函数。)80()sin(21)()1(ttetyt625.0)24083.2cos(23.1)(tty625.0)(tx)300(8.0)309.0cos(5)(22.0tetetytt6.0)(6.062.2)(6.0)17422.2cos(62.2)(325.0225.01tyetytetytt8求y3(t)值:y(t=0)、ymax、ymin和y(t=12)练习2-3.绘制下列方程的极坐标图。θ∈[0,2π],步长为π/200。练习2-4.求函数Z的三维图形。定义区间与Z函数表达式如下:2.编辑函数文件函数是MATLAB扩展功能的M文件。许多MATLAB命令与全部工具箱命令都是用M文件格式写成的。程序文件与函数文件的主要区别在于,函数允许通过数值进行参数传递,而且函数使用局部变量而不是对整个工作空间中变量的操作。另外一个不同点是,函数文件的第一行必须包括“function”这个词。下面是一个典型的函数文件格式:function[out1,out2,…]=filename(in1,in2,…)ttttetetyetyety25.1)128554.0cos(02.2)(02.2)(25.1)(3.033.021)4/()5(3cos)4()sin1(2)3()cos1(2)2()cos1(3)1(errrrr1)1()1(5.11)1()1(155,552222yxyxzyx9%optionalcommentlinesfordocumentationMATLABcommands练习2-5阅读计算阶跃响应特征参数的函数文件,并编写主程序调用该函数文件(见附录),求:⑴超调量σ%;⑵上升时间Tr;⑶峰值时间Tp;⑷过渡过程时间Ts;练习2-6参考练习2-5程序,编写程序计算下列传递函数的阶跃响应特参数:⑴超调量σ%;⑵上升时间Tr;⑶峰值时间Tp;⑷过渡过程时间Ts;—-———————————————————————————附录:计算超调量σ%、上升时间Tr、峰值时间Tp、过渡过程时间Ts的函数文件;%MATLABPROGRAMEG2-4function[pos,tr,ts2,tp]=stepchar(t,y);%findingPosandTp[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;whiley(i)0.1;i=i+1;end;t1=t(i);whiley(j)0.9;13321)(2224)(222)(2332221sssSGsssSGssSG10j=j+1;end;t2=t(j);tr=t2-t1;%Findingsettlingtime(twopercent)Tsi=dimt+1;n=0;whilen==0;i=i-1;ifi==1;n=1;elseify(i)=1.02;n=1;end;end;t1=t(i);i=dimt+1;n=0;whilen==0;i=i-1;ify(i)=0.98;n=1;end;t2=t(i);ift1t2;ts2=t1;elsets2=t2;end;end;%程序中,pos为超调量σ%。11实验三MATLAB_GUI界面(一)实验目的图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。通过MatlabGUI编程示例仿真掌握GUI界面的设计;(二)实验设备计算机,Matlab软件(三)实验要求本实验属于设计实验,请先根据(四)实验内容的(a)【MatlabGUI编程示例】,并完成(b)【实验操作】。请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验三_学号_姓名”,并通过FTP上传至指定文件夹。(四)实验内容a)MatlabGUI编程示例1.首先我们新建一个GUI文件:File/New/GUI如下图所示;选择BlankGUI(Default)122.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码;13选择edit1_Callback,右键选择ViewCallbacks/callbackfunctionedit1_Callback(hObject,eventdata,handles)%hObjecthandletoedit1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,'String')returnscontentsofedit1astext%str2double(get(hObject,'String'))returnscontentsofedit1asadouble然后在上面这段代码的下面插入如下代码:%以字符串的形式来存储数据文本框1的内容.如果字符串不是数字,则显示空白内容input=str2num(get(hObject,'String'));%检查输入是否为空.如果为空,则默认显示为0if(isempty(input))set(hObject,'String','0')endguidata(hObject,handles);这段代码使得输入被严格限制,我们不能试图输入一个非数字。4.为edit2_Callback添加同样一段代码5.现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。用3中同样的方法在m文件中找到pushbutton1_Callback代码段如下;functionpushbutton1_Callback(hObject,eventdata,handles)14%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(
本文标题:中南大学控制系统仿真技术实验指导书1
链接地址:https://www.777doc.com/doc-4649013 .html