




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一部分数字仿真第一部分数字仿真实验实验实验实验 1 Matlab概述概述The MathWorks,IncMatlab的特点的特点n强大的数学运算能力强大的数学运算能力n方便实用的绘图功能及语言的高度集成性方便实用的绘图功能及语言的高度集成性n比较完善的控制领域的工具箱比较完善的控制领域的工具箱第一部分数字仿真第一部分数字仿真实验实验实验实验 1 Matlab概述概述1 Matlab语言的基本使用环境语言的基本使用环境n命令子窗命令子窗(command window)n程序调用版程序调用版(Launch Pad)n命令的历史记录(命令的历史记录(Command History)n工作空间管理
2、程序(工作空间管理程序(Workspace)n当前目录管理程序(当前目录管理程序(Current Directory)第一部分数字仿真第一部分数字仿真实验实验Matlab的工作空间的工作空间命令是用命令行形式或命令是用命令行形式或m文件形式输入,那么输入的文件形式输入,那么输入的命令和创建的所有变量值,就会驻留在命令和创建的所有变量值,就会驻留在Matlab的工作的工作空间,可在任何需要的时候调用。空间,可在任何需要的时候调用。工作空间管理命令工作空间管理命令:who, whos, clear 实验实验 1 Matlab概述概述关于变量和函数命名关于变量和函数命名一般为双精度浮点,一般为双精度
3、浮点,8个字节(个字节(64位),位), -1.7*103081.7*10308, 表示为表示为 Double( )图象处理中:无符号图象处理中:无符号8 位整型,位整型, 表示为表示为 unit8( ), int8( )变量(函数名)由字母引导,可跟字母、数字、下变量(函数名)由字母引导,可跟字母、数字、下化线等,不超过化线等,不超过19个字符。区分大小写个字符。区分大小写支持复数向量、矩阵和字符串型矩阵。支持复数向量、矩阵和字符串型矩阵。2 Matlab的基本特性的基本特性注释和标点注释和标点 一行中,一行中,% 后面的所有文字都是注释后面的所有文字都是注释多条命令可以放在同一行,只要它们
4、被逗号或分号隔开,分号禁多条命令可以放在同一行,只要它们被逗号或分号隔开,分号禁止显示。连续三个点止显示。连续三个点 表示语句的余下部分将在下行出现,变表示语句的余下部分将在下行出现,变量名不能分开,注释行不能续行。量名不能分开,注释行不能续行。特定常数特定常数neps 浮点运算误差浮点运算误差=2.2204*10-16nj, i 纯虚数纯虚数nInf 无穷大无穷大nNaN 不定式不定式npi 圆周率圆周率 nans 用于返回结果的缺省变量名用于返回结果的缺省变量名nnargin 所用函数的输入变量所用函数的输入变量nnargout 所用函数的输出变量所用函数的输出变量2 Matlab的基本特
5、性的基本特性Matlab的搜索路径的搜索路径当你在命令行输入一个字符串(可能是变量或命令),当你在命令行输入一个字符串(可能是变量或命令),回车后,回车后,Matlab按一定的顺序执行。例如按一定的顺序执行。例如 ptest顺序为:顺序为:(1)检查是否为工作空间中的变量)检查是否为工作空间中的变量(2)检查是否为内置函数)检查是否为内置函数(3)检查)检查MEX文件文件ptest.mex是否存在于当间目录是否存在于当间目录(4)检查)检查M文件文件ptest.m是否为存在于当间目录是否为存在于当间目录(5)按次序搜索已设置的路径。检查)按次序搜索已设置的路径。检查ptest.mex或或pte
6、st.m是是否为存在于否为存在于matlab的搜索路径中。的搜索路径中。应用应用c c语言按照语言按照MexMex技术要求的格式编写相应部分的程序,通过编译技术要求的格式编写相应部分的程序,通过编译连接,形成连接,形成MatlabMatlab可以直接调用可以直接调用的动态连接库,显著加快运算速度。的动态连接库,显著加快运算速度。 Matlab的三种执行方式的三种执行方式M 文件和文件和M函数函数1 脚本文件脚本文件 (批处理文件)(批处理文件)启动启动M文件编辑器文件编辑器b=1;2;3;A=1 2 3;4 5 6;7 8 9;Inv(A)*b;脚本文件空间与脚本文件空间与Matlab工作空间
7、是相同的。工作空间是相同的。 Matlab的三种执行方式的三种执行方式M 文件和文件和M函数函数2 M函数函数 function s=example2(A,b)% 求解线性方程组求解线性方程组As=b的解的解sif det(A)=0 s=inv(A)*belse error(A 是一个奇异矩阵是一个奇异矩阵)end ; s=example2(A,b)保存文件时,文件名和函数名必须相同。保存文件时,文件名和函数名必须相同。Matlab的三种执行方式的三种执行方式 m函数有自己专用的工作空间,函数内部变量与函数有自己专用的工作空间,函数内部变量与matlab工作空间工作空间之间的唯一联系是函数的输
8、入和输出变量。之间的唯一联系是函数的输入和输出变量。Matlab的全局变量,函数与其他函数、的全局变量,函数与其他函数、matlab工作工作空间共享变量。说明变量全局共享的方法是空间共享变量。说明变量全局共享的方法是“global 变量名变量名”返回变量列表返回变量列表=函数名(变量列表)函数名(变量列表)例如:例如: v,d=eig(A)函数调用语句函数调用语句 Matlab里的函数(内置)里的函数(内置)x=1, pi, 0.1 0.5 cos(x)Ones(2,2), eye(3) length(A),size(A),sum(A),max(A)rank det log10,log log
9、,sin cos tan sum(x)t=0:0.1:10 Matlab的矩阵运算的矩阵运算A=1,2,3;4,5,6;7,8,9Matlab的矩阵运算的矩阵运算冒号表达式给行向量赋值冒号表达式给行向量赋值A=A;1 2 4b=s1:s2:s3x=(first:last)x=(first:increment:last)x=linspace(first,last,n)x=logspace(first,last,n)3 矩阵的矩阵的Matlab表示表示访问矩阵的元素访问矩阵的元素A=1,2,3;4,5,6;7,8,9A(1,:)A(2,1:3)A(1:3,1)A(2,2)=1;zeros(2,2)
10、ones(3,1)eye(4)3 矩阵运算矩阵运算矩阵转置,加、减、乘,除矩阵转置,加、减、乘,除B=A C=A+B; D=A*Binv(A) AB 左乘,当左乘,当A为非奇异方阵时为非奇异方阵时=inv(A)*B B/A 右乘,当右乘,当A为非奇异方阵时为非奇异方阵时=B*inv(A) C=A.*B 矩阵对应元素之间的乘积矩阵对应元素之间的乘积点运算点运算4 流程控制结构流程控制结构循环语句、条件语句、开关语句的结构循环语句、条件语句、开关语句的结构通常使用的循环格式为通常使用的循环格式为 for i=s1:s3:s2 判断判断i是否在是否在s1,s2之间之间msum=0; for i=1:
11、1:100, msum=msum+i; end; msum循环结构循环结构for endwhileendfor 循环变量循环变量=Vect 循环体语句组循环体语句组end4 流程控制结构流程控制结构循环语句、条件语句、开关语句的结构循环语句、条件语句、开关语句的结构当逻辑变量为非零,则执行条件块语句组的内容,执行完后继续向下当逻辑变量为非零,则执行条件块语句组的内容,执行完后继续向下执行;若逻辑变量为零,则跳过条件块语句组直接向下执行执行;若逻辑变量为零,则跳过条件块语句组直接向下执行 msum=0; i=1; while (i1, error(Too many output argument
12、s); endIf nargin=1, m=n;elseif nargin=01nargin2) error(wrong number of intput arguments); endA1=zeros(n,m);for i=1:n for j=1:m A1(i,j)=1/(i+j-1); end,endIf nargout=1,A=A1;elseif nargout=0,disp(A1);end5 Matlab函数编写函数编写M函数的跟踪调试函数的跟踪调试 function A=myhilb(n,m)% % If nargout1, error(Too many output argumen
13、ts); endIf nargin=1, m=n;elseif nargin=01nargin2) error(wrong number of intput arguments); endA1=zeros(n,m);for i=1:n for j=1:m A1(i,j)=1/(i+j-1); end,endIf nargout=1,A=A1;elseif nargout=0,disp(A1);end6 Matlab语言下图形绘制语言下图形绘制基本二维图象绘制语句基本二维图象绘制语句 plot(x, y) t=0:0.1:2*pi;y=sin(t); cos(t);plot(t,y) t=0:0
14、.1:2*pi;plotyy(t,sin(t),t,0.1*cos(t)带有其他选项的绘图函数带有其他选项的绘图函数 plot(x1, y1,选项选项1, x2, y2,选项选项2,。,。)6 Matlab语言下图形绘制语言下图形绘制带有其他选项的绘图函数示例带有其他选项的绘图函数示例 plot(t, sin(t),-,t,cos(t),:,t,sin(t).*cos(t),x) grid xlabel( ) ylabel( ) title( ) axis(xmin,xmax,ymin,ymax)二维曲线的标注方法二维曲线的标注方法 Matlab提供的特殊二维曲线绘制函数提供的特殊二维曲线绘制
15、函数6 Matlab语言下图形绘制语言下图形绘制带有其他选项的绘图函数示例带有其他选项的绘图函数示例 plot(t, sin(t),-,t,cos(t),:,t,sin(t).*cos(t),x)6 Matlab语言下图形绘制语言下图形绘制在已有的图形上叠加其他图形在已有的图形上叠加其他图形 hold on 设置当前图形的设置当前图形的hold属性为属性为onhold off 设置当前图形的设置当前图形的hold属性为属性为offishold 返回返回hold属性属性T=0:0.1:10; plot(t, sin(t),-,t,cos(t),:,t,sin(t).*cos(t),x);lege
16、nd(sin(t),cos(t),cos(t)*sin(t)6 Matlab语言下图形绘制语言下图形绘制带有其他选项的绘图函数示例带有其他选项的绘图函数示例 plot(t, sin(t),-,t,cos(t),:,t,sin(t).*cos(t),x)7 传递函数的传递函数的Matlab描述描述传递函数描述传递函数描述n多项式描述与运算多项式描述与运算 p=1 3 0 5; q=1 2;n=conv(p,q) roots(p) value=polyval(n,-2)p(s)=s3+3s2+5n(s)=p(s)q(s)多项式多项式p(s)p(s)的根的根求求s=-2 s=-2 时时n(s)n(s
17、)的值的值7 传递函数的传递函数的Matlab描述描述n传递函数描述传递函数描述 G=tf(num,den)G=tf(num,den)printsys(G)p,z=pzmap(num,den)G(s)=num(s)/den(s)零极点图零极点图打印结果打印结果G(s)=(6s2+1)/(s3+3s2+3s+1)z,p,k=tf2zp(num,den)7 传递函数的传递函数的Matlab描述描述框图的串联、并联和反馈框图的串联、并联和反馈num,den=series(num1,den1, num2,den2)num,den=paralle1(num1,den1, num2,den2)num,de
18、n=feedback(num1,den1, num2,den2,sign)单位反馈单位反馈消除公因式消除公因式num,den=cloop(num1,den1,sign)num,den=minreal(numg,deng)7 传递函数的传递函数的Matlab描述描述设:设:G1=num1/den1, G2=num2/den2num1=s+1, den1=s2+5s+6num2=1, den2=s2+3s求求G1G2的串联和反馈连接的等效传函,并求出零极点图的串联和反馈连接的等效传函,并求出零极点图num,den=series(num1,den1, num2,den2)num,den=feedba
19、ck(num1,den1, num2,den2,signnum,den=cloop(num1,den1,sign)G1G1G1G1G1G18 命令行下的时域计算命令行下的时域计算给定传递函数给定传递函数G1=2, 计算单位阶跃响应计算单位阶跃响应 G2=1/(s+1)(s+3)y,x,t=step(num,den);plot(t,y)step(num,den)y,x,t=step(num,den,t);plot(t,y)G1G18 命令行下的时域计算命令行下的时域计算控制器:控制器:放大器放大器执行机构和读取臂:执行机构和读取臂:直流电机和手臂直流电机和手臂传感器:传感器:磁头和索引磁道磁头和
20、索引磁道预期磁预期磁头位置头位置实际磁实际磁头位置头位置磁盘驱动读取系统框图模型磁盘驱动读取系统框图模型磁盘驱动读取系统框图模型磁盘驱动读取系统框图模型讨论:讨论: 增益增益K=10,80时时系统阶跃指令系统阶跃指令(r(t)=u(t)的瞬态响的瞬态响应和应和 扰动阶跃信号扰动阶跃信号(d(t)=u(t)所产生的响应所产生的响应.K )20(1ss G1(s) 线圈线圈 D(s) G2(s) 负载 R(s) E(s) Y(s) )1000(5000s磁盘驱动读取系统框图模型磁盘驱动读取系统框图模型解:解:1 求反馈回路的传递函数,求反馈回路的传递函数,R(s)-Y(s); D(s)-Y(s)
21、2 用用step 函数求对应的响应,求响应的稳态值,画出曲线。函数求对应的响应,求响应的稳态值,画出曲线。 K )20(1ss G1(s) 线圈线圈 D(s) G2(s) 负载 R(s) E(s) Y(s) )1000(5000s仿真作业仿真作业1 用用Matlab 可以识别的格式输入下面两个矩阵可以识别的格式输入下面两个矩阵再求出它们的乘积再求出它们的乘积C,C,并将并将C C矩阵的右下脚矩阵的右下脚2323子矩阵赋给子矩阵赋给D D矩阵,赋值完成后,调用相矩阵,赋值完成后,调用相应的命令查看应的命令查看matlabmatlab工作空间的占用情况工作空间的占用情况。3459812435762
22、24553328763441,49819323753175323321iiiBA仿真作业仿真作业2 解线性方程解线性方程601514035144361363496245432141097539108627810715675x3 3 用用for for 循环结构编写程序,求出循环结构编写程序,求出6302iik第一部分数字仿真第一部分数字仿真实验实验实验实验2 Matlab/simulink及时域仿真及时域仿真Simulink 是是matlab提供的实现动态系统建模和仿提供的实现动态系统建模和仿真的一个软件包。真的一个软件包。simulink Simulink Library Browser 窗
23、口窗口Simlink 的基本模块库的基本模块库第一部分数字仿真第一部分数字仿真实验实验实验实验2-1 Matlab/simulink及时域仿真及时域仿真仿真步骤:仿真步骤:n根据系统模型建立根据系统模型建立mdl模型文件模型文件n在指定输入信号下进行数字仿真获得系统在指定输入信号下进行数字仿真获得系统的时间响应曲线。的时间响应曲线。n根据性能指标的定义计算系统的各项性能根据性能指标的定义计算系统的各项性能指标。指标。第一部分数字仿真第一部分数字仿真实验实验实验实验2-1 Matlab/simulink及时域仿真及时域仿真在工作空间利用在工作空间利用matlab提供的函数例如提供的函数例如ste
24、p,margin等也可以进行时域分析计算。等也可以进行时域分析计算。实验实验2 Matlab/simulink及时域仿真及时域仿真求解求解Van der Pol 方程方程 实验实验2-2 simulink 模型举例模型举例1222121,(1)xxxxxx在在. .mdlmdl模型文件中描述方程的关系模型文件中描述方程的关系在在matlab命令窗给参数赋值命令窗给参数赋值mu=1;x01=1;x02=-2实验实验2 Matlab/simulink及时域仿真及时域仿真求解具有非线性环节的控制系统求解具有非线性环节的控制系统实验实验2-2 simulink 模型举例模型举例1 0.8ss在在. .
25、mdlmdl模型文件中描述方程的关系模型文件中描述方程的关系在在matlab命令窗给参数赋值命令窗给参数赋值c=1;100.11s1s实验实验2-2 Matlab/simulink及时域仿真及时域仿真子系统(子系统(subsystem)创建子系统创建子系统基于基于matlab函数的系统仿真分析函数的系统仿真分析Matlab函数函数 pzmap, zp2tf, tf2zp, roots 2724364523)(2345234ssssssssssG求零极点图求零极点图num=3 2 5 4 6;den=1 3 4 2 7 2;z,p,k=tf2zp(num,den)pzmap(num,den)ro
26、ots(den)num1,dn1=zp2tf(z,p,k)当没有零点时当没有零点时, z= 应用应用simulink进行仿真进行仿真单位阶跃响应函数单位阶跃响应函数step 单位脉冲响应函数单位脉冲响应函数 impulse 任意输入下的响应函数任意输入下的响应函数 lsimt = 0:0.01:5; u = sin(t); lsim(sys,u,t)sys=tf(num,den)y,t,x=lsim(sys,u,t)y,t,x = lsim(sys,u,t)y,t,x = lsim(sys,u,t,x0)应用应用simulink进行仿真进行仿真num,den=cloop(10,1 2 0,-1
27、)step(num,den)impulse(num,den)2(10)(sssG求系统的脉冲响应求系统的脉冲响应(稳定性稳定性)和动态性能指标和动态性能指标.例如例如: : 单位负反馈系统的开环传递函数为单位负反馈系统的开环传递函数为实验实验 3 应用应用Matlab进行根轨迹分析进行根轨迹分析本节介绍的函数有本节介绍的函数有rlocus, 调用方式:调用方式:rlocus(num,den)r,k=rlocus(num,den)axis(minx maxx miny maxy)绘制根轨迹图绘制根轨迹图绘制系统的根轨迹图。绘制系统的根轨迹图。(5)( )( )(1)(2)(3)gksG s H
28、ss sss例题例题1:控制系统的开环传递函数为:控制系统的开环传递函数为实验实验 3 应用应用Matlab进行根轨迹分析进行根轨迹分析root-locus_examp1.mnum=1 5;d1=conv(1 1,1 2);d2=conv(1 3,d1);den=d2 0;rlocus(num,den)% 或或num,den=zp2tf(-5,0 -1 -2 -3 ,3)r,k=rlocus(num,den);绘制系统的根轨迹图。绘制系统的根轨迹图。(5)( )( )(1)(2)(3)gksG s H ss sss实验实验 3应用应用Matlab进行根轨迹分析进行根轨迹分析作业题:控制系统的闭
29、环传递函数为作业题:控制系统的闭环传递函数为1)绘制系统绘制系统k变化时的根轨迹图变化时的根轨迹图;2)用根轨迹方法求当用根轨迹方法求当k=20时闭环的全部极点时闭环的全部极点,给出单位阶跃响给出单位阶跃响应曲线应曲线;3)讨论系统的闭环主导极点是哪些讨论系统的闭环主导极点是哪些, 用主导极点法给出系统用主导极点法给出系统的单位阶跃响应的单位阶跃响应, 将结果与将结果与2) 比较比较,并进行分析并进行分析(可用解析可用解析法法)。(1)(3)( )(2)(3)(1)k ssss ssk s实验实验 3应用应用Matlab进行根轨迹分析进行根轨迹分析例题例题2:控制系统的闭环传递函数为:控制系统
30、的闭环传递函数为(1)(3)( )(2)(3)(1)k ssss ssk s解:写出根轨迹方程解:写出根轨迹方程( )(2)(3)(1)0(1)10(2)(3)D ss ssk sk ss ss实验实验 3应用应用Matlab进行根轨迹分析进行根轨迹分析root-locus_examp2.m选择闭环复数的极点,选择闭环复数的极点,-2.0,根轨迹增益,根轨迹增益k=20. 找出另一个极点找出另一个极点-0.89写出写出k=20时的闭环系统的所有极点和零点时的闭环系统的所有极点和零点实验实验 3 应用应用Matlab进行根轨迹分析进行根轨迹分析root-locus_examp2.m选择闭环复数的
31、极点,选择闭环复数的极点,-2.0,根轨迹增益,根轨迹增益k=20. 找出另一个极点找出另一个极点-0.89num=1 1;d1=conv(1 2,1 3);den=d1 0;rlocus(num,den)% 或或r,k=rlocus(num,den);写出写出k=20时的闭环系统的所有极点和零点时的闭环系统的所有极点和零点实验实验 3应用应用Matlab进行根轨迹分析进行根轨迹分析系统的闭环的主导极点系统的闭环的主导极点=?1,232.04.3,0.89sjs 观看系统的单位阶跃响应观看系统的单位阶跃响应(1)(3)( )(2)(3)(1)k ssss ssk snmb=k1*1 4 3;d
32、enb=1 5 6+k1 k1;step(numb,denb)121,3zz 实验实验 3应用应用Matlab进行根轨迹分析进行根轨迹分析分析系统的单位阶跃响应的解析式分析系统的单位阶跃响应的解析式nmc=k1*1 4 3;denc=1 5 6+k1 k1 0;r,p,k=residue(numc,denc)r=p=k= (1)(3)1( )(2)(3)(1)k ssC ss ssk ss(1)(2)(3)(4)( )( )(1)(2)(3)(4)rrrrC sk sspspspsp实验实验 3 应用应用Matlab进行根轨迹分析进行根轨迹分析例题例题3 某单位反馈控制系统的开环传递函数为某单位反馈控制系统的开环传递函数为绘制系统的根轨迹,确定当系统的阻尼比为绘制系统的根轨迹,确定当系统的阻尼比为0.7时系统的闭环时系统的闭环极点,并分析系统的性能。极点,并分析系统的性能。解:绘制根轨迹解:绘制根轨迹nm= 4 3 1;den=3 5 1 0;sgridrlocus(num,den)k,p=rlocfind(num,den)22(431)(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境教育与提高老年人生活质量的关系探讨
- 科技办公环境下青少年的学习方式变革
- 科技助力下的绿色旅游景区运营模式
- 环境问题在商业领域的实践案例分析
- 科技产业中的科研诚信建设
- 科技企业如何在展会中提升品牌形象
- 停车场地租赁合同简单模板
- 2025年小学秋季学期家校合作工作计划
- 部编版二年级语文上册教学计划的资源整合
- 企业内部培训工作计划
- 林规发〔2016〕58号防护林造林工程投资估算指标
- 非公开发行公司债券的法律意见书模版
- 汽车空调技术与维修教案
- 城市轨道交通乘客服务课件(完整版)
- 围手术期肺部感染
- 北师大版语文选修《萧萧》ppt课件1
- 大学生职业素养课件-5第五单元学会有效沟通-PPT课件
- 煤矿2021年重大安全风险分析预判防控报告全文
- 《伤逝》_鲁迅课件__大学语文(基础教育)
- 《谈骨气》课文阅读(共2页)
- 高考成绩证明模板
评论
0/150
提交评论