5仿真试验指导书
- 格式:doc
- 大小:1.44 MB
- 文档页数:13
目录第一章 MATLAB窗口环境一、MATLAB语言的显著特点 (2)二、MATLAB命令窗口 (2)三、MATLAB的工作空间 (2)四、使用帮助 (2)第二章 MATLAB实验任务书实验一、MATLAB基本指令的使用 (3)实验二、M-file文件的编写 (4)实验三、控制系统的稳定性分析 (5)实验四、自动控制系统PID控制仿真 (6)第三章 SIMULINK窗口环境一、启用Simulink (7)二、Simulink模块库简介 (7)第四章 SIMULINK实验任务书实验五、计算机数值仿真的常用算法 (10)实验六、直流调速系统的simulink仿真 (11)实验七、离散系统的仿真分析 (12)第一章MATLAB的窗口环境一、MATLAB语言的显著特点1、具有强大的矩阵运算能力:Matrix Laboratory(矩阵实验室),使得矩阵运算非常简单。
2、是一种演算式语言MATLAB的基本数据单元是既不需要指定维数,也不需要说明数据类型的矩阵(向量和标量为矩阵的特例),而且数学表达式和运算规则与通常的习惯相同。
因此MATLAB语言编程简单,使用方便。
二、MATLAB命令窗口1、启动MATLAB命令窗口计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。
MATLAB语句形式》变量=表达式;通过等于符号将表达式的值赋予变量。
当键入回车键时,该语句被执行。
语句执行之后,窗口自动显示出语句执行的结果。
如果希望结果不被显示,则只要在语句之后加上一个分号“;”即可。
此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。
2、命令行编辑器 方向键和控制键可以编辑修改已输入的命令:向上箭头回调上一行命令;向下箭头回调下一行命令;回车前进一行;空格键显示下一页;q结束当前显示;多行命令(…)。
三、MATLAB的工作空间1、MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数who:显示当前工作空间中所有变量的一个简单列表whos:则列出变量的大小、数据格式等详细信息clear :清除工作空间中所有的变量clear 变量名:清除指定的变量2、文件管理的命令,包括列文件名、显示或删除文件、显示或改变当前目录等。
what:显示当前目录下所有与matlab相关的文件及它们的路径。
dir:显示当前目录下所有的文件which:显示某个文件的路径cd path:由当前目录进入path目录cd ..:返回上一级目录cd:显示当前目录type filename:在命令窗口中显示文件filenamedelete filename:删除文件filename四、使用帮助1、help 命令,在命令窗口中显示MATLAB 的所有函数都是以逻辑群组方式进行组织的,而MATLAB 的目录结构就是以这些群组方式来编排的。
help matfun :矩阵函数-数值线性代数help general :通用命令help graphics :通用图形函数help elfun :基本的数学函数help elmat :基本矩阵和矩阵操作help datafun :数据分析和傅立叶变换函数help ops :操作符和特殊字符help polyfun :多项式和内插函数help lang :语言结构和调试help strfun :字符串函数help control :控制系统工具箱函数2、helpwin :帮助窗口3、helpdesk :帮助桌面,浏览器模式4、lookfor 命令:返回包含指定关键词的那些项5、demo :打开示例窗口第二章 MATLAB 实验任务书实验一 MATLAB 语言程序设计基础实验目的:通过简单的编程:MATLAB 语言的数据结构、矩阵运算、M 函数,使学生初步掌握MATLAB 语言程序设计基础。
实验内容: 利用MATLAB 语言实现矩阵的快速运算。
1.已知矩阵1234a ⎡⎤=⎢⎥⎣⎦ 3559b ⎡⎤=⎢⎥⎣⎦求b a ⨯ b a / a b / b a ⨯ a+b a-b a^3 a.*b a./b a.\b a.^3 实验步骤:》a=[1 2 3;4 5 6]'》a=[1 2 3;4 5 6].'》b=[1+2i 2-7i]'》b=[1+2i 2-7i].'》a=[1 2;3 4];b=[ 3 5; 5 9]》c=a+b ,d=a-b ,》a*b ,》a/b》a\b》a^3》a.*b》a./b》a.\b》a.^32.已知矩阵⎥⎦⎤⎢⎣⎡=05314320A ⎥⎦⎤⎢⎣⎡=50513501B 求A&B A==B实验步骤:》A=[0 2 3 4;1 3 5 0]; B=[1 0 5 3;1 5 0 5]; A&B》A=[0 2 3 4;1 3 5 0]; B=[1 0 5 3;1 5 0 5]; A==B实验二 M-file 文件的编写实验目的:说明M 脚本文件的编写技术,以及如何使用前面所讲述的MATLAB 语言的条件判断与循环语句。
由此可见使用MATLAB 语言进行程序设计简单而又快速。
实验内容:编写一个M 文件绘制函数在区间中[0 3]的图形。
实验步骤:在MATLAB 命令行下输入edit 命令以打开M 文件编辑器,输入以下程序: x=-6:0.1:6; % 设定自变量x 的取值范围leng=length(x); % 计算向量x 的长度for m=1:leng % 计算函数值if x(m)<=0 % 判断x 取值所在范围 y(m)=sin(x(m)); % 计算分段函数值elseif x(m)<=3y(m)=x(m); % 计算分段函数值⎪⎩⎪⎨⎧>+-≤<≤=3,630,0,sin )(x x x x x x x yelsey(m)=-x(m)+6; % 计算分段函数值endendplot(x,y,'*'),grid ; %绘制函数曲线将其存盘为demomfile1.m 然后在MATLAB 命令行下输入:>>demomfile1>>t=0:.1:2*pi;y=sin(t);plot(t,y)回车则生成该函数曲线:实验三 控制系统的稳定性分析实验内容:1、已知某系统的模型:要求判断系统的稳定性及系统是否为最小相位系统;求系统的阶跃响应和冲激响应。
实验步骤:在matlab 命令提示符下键入:〉〉A=[1 2 -1 -2;2 6 3 0;4 7 -8 -5;7 2 1 6];B=[-1;0;0;1]; 〉〉C=[-2 5 6 1];D=[7]〉〉[Z P K]=ss2zp(A,B,C,D)如果闭环极点全部在S 平面左半平面,则系统是稳定的。
如果全部零极点都位于S 左半平面;则系统是最小相位系统。
然后键入如下命令,即可得到系统的阶跃响应和冲激响应曲线〉〉step(A,B,C,D)〉〉[y,x,t]=step(A,B,C,D)〉〉impulse(A,B,C,D,iu)〉〉[y,x,t]=impulse(A,B,C,D)2、nyquist 曲线的绘制figure('pos',[30 100 300 300],'color','w');[]u x y u x x 7165210016127587403622121+-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=axes('pos',[0.15 0.2,0.7,0.7]);gg=zpk([5],[-1 -2 -3 -4],-25);gg1=zpk([-5],[-1 -2 -3 -4],25);nyquist(gg);hold on;nyquist(gg1);实验四自动控制系统PID控制仿真实验内容:被控对象为一电机模型的传递函数G(s)=1/(Js2+Bs),连续系统的数字PID控制仿真。
J=0.0067,B=0.10,采用M函数形式,利用ODE45的方法求解连续对象方程,输入信号rin(k)=0.50sin(2πt),采用PID控制方法设计控制器,Kp=20,Kd=0.5,并根据阶跃响应特性优化PID参数;实验目的:通过编写自动控制系统PID控制的仿真程序,掌握Euler算法、Runge-Kutta算法对常微分方程计算精度的影响。
实验步骤:1打开matlab应用程序,在matlab的命令窗口选择file/new/M-file,在新窗口键入如下程序:ts=0.001; %Sampling timexk=zeros(2,1);e_1=0;u_1=0;for k=1:1:2000time(k) = k*ts;rin(k)=0.50*sin(1*2*pi*k*ts);para=u_1;tSpan=[0 ts];[tt,xx]=ode45('chap1_2f',tSpan,xk,[],para);xk = xx(length(xx),:);yout(k)=xk(1);e(k)=rin(k)-yout(k);de(k)=(e(k)-e_1)/ts;u(k)=20.0*e(k)+0.50*de(k);%Control limitif u(k)>10.0u(k)=10.0;endif u(k)<-10.0u(k)=-10.0;endu_1=u(k);e_1=e(k);endfigure(1);plot(time,rin,'r',time,yout,'b');xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,rin-yout,'r');xlabel('time(s)'),ylabel('error');%连续对象子程序function dy = PlantModel(t,y,flag,para)u=para;J=0.0067;B=0.1;dy=zeros(2,1);dy(1) = y(2);dy(2) = -(B/J)*y(2) + (1/J)*u;2打开file/save,将文件保存为conPID.m3在命令工具栏中选择debug/simulation或在matlab命令提示行键入conPID.m,执行该程序。
仿真控制参数通过simulation/simulation parameters菜单项选择,仿真时间15S,仿真算法分别选择ode45/ode23,其他参数为默认参数。