matlab 控制系统仿真实验报告_第1页
matlab 控制系统仿真实验报告_第2页
matlab 控制系统仿真实验报告_第3页
matlab 控制系统仿真实验报告_第4页
matlab 控制系统仿真实验报告_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、控制系统仿真实验报告控制系统仿真实验报告自动化0903 杨一君 学号09090911072012-5-27前面是胡杨老师上课时时留的思考题,实验指导书对应报告在17页开始思考题1:diag(a)求a的对角阵,当a为非n阶方阵时,调用diag()出现的情况:(1) >> a = 1 2 3 ; 4 5 6 ;7 8 9a = 1 2 3 4 5 6 7 8 9>> diag(a)ans = 1 5 9%正常方阵(2) >> a = 1 1 1a = 1 1 1>> diag(a)ans = 1 0 0 0 1 0 0 0 1%只有一行元素时(3)

2、>> a =1 2 3;4 5 6 a = 1 2 3 4 5 6>> diag(a)ans = 1 5(4) >> a = 1 2 3; 4 5 6 ;7 8 9; 0 0 0a = 1 2 3 4 5 6 7 8 9 0 0 0>> diag(a)ans = 1 5 9(5) >> a =1 2 3a = 1 2 3>> diag(a)ans = 1 0 0 0 2 0 0 0 3(6) >> a = 1;2;3a = 1 2 3>> diag(a)ans = 1 0 0 0 2 0 0 0 3

3、思考题2:求逆函数inv(a),当a为不可逆时,inv(a)所求结果如何>> a = ones(4)a = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>> inv(a)Warning: Matrix is singular to working precision.ans = Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf%矩阵所有元素变为无穷思考题3:当inv(a)函数求逆,当a为非n阶方阵时inv(a)的结果>> a =1 2 3a = 1 2 3>

4、> inv(a)? Error using => invMatrix must be square.程序报错思考题4:conv()多项式乘法函数是否可以用两个以上的参数实现多个多项式的乘法?如果不可以,如何实现多个多项式的乘法?>> p1 = 1 2 1p1 = 1 2 1>> p2 = 2 3 2p2 = 2 3 2>> conv(p1,p2)ans = 2 7 10 7 2>> p3 = 3 4 3p3 = 3 4 3>> conv(p1,p2,p3)? Error using => conv %不可以,报错To

5、o many input arguments.>> conv(conv(p1,p2),p3) %用conv()函数的嵌套来实现3个以上多项式的乘法ans = 6 29 64 82 64 29 6思考题5:deconv(p1,p2)函数,当p1不能被p2整除时会有什么样的情况>> p1 = 1 3 2p1 = 1 3 2>> p2 = 1 1p2 = 1 1>> deconv(p1,p2)ans = 1 2>> p1 = 3 4 5;>> p2 = 1 1 ;>> deconv(p1,p2)ans = 3 1&g

6、t;> p1 = 1 3 3p1 = 1 3 3>> p2 = 1 1p2 = 1 1>> deconv(p1,p2)ans =1 2 %只保留商思考题6:如何实现将一个语句拆成几行?>> a = 1 1 1 1 1 ;2 2 2 2 2 a = 1 1 1 1 1 2 2 2 2 2%用分号思考题 1:如果去掉subplot(3,3,1)或其他位置的图,及其绘图代码,绘出的曲线成何种形式?影不影响其他曲线?>> subplot(3,3,9);>> subplot(3,3,2);>> subplot(3,3,2);&

7、gt;> subplot(3,3,2);>> t = 0:0.01 :6;>> y = t.*t;>> plot(t,y);>> subplot(3,3,9);>> t = 0:0.02:4;>> y = sin(t);>> plot(t,y);%不影响其他函数思考题2:plotyy()最多可以画几条曲线?>> x1=0:pi/10:2*pi;>> y1 = sin(x1);>> x2 = 0:pi/400:8*pi;>> y2 = cos(x2);>

8、> plot(x1,y1,x2,y2)>> plotyy(x1,y1,x2,y2 );>> x1=0:pi/10:2*pi;>> y1 = sin(x1);>> x2 = 0:pi/400:8*pi;>> y2 = cos(x2);>> x3 = 0:pi/300:3*pi;>> y3 = sin(x3);>> plot(x1,y1,x2,y2,x3,y3);>> plotyy(x1,y1,x2,y2,x3,y3);? Error using => fevalArgument

9、 must contain a string or function_handle.Error in => plotyy>fevalfun at 286 h = feval(func,x,y);Error in => plotyy at 59h1,ax(1) = fevalfun(fun1,ax(1),x1,y1,caxspecified);>>所以ploytt()最多画两个函数>> th = 0:pi/10:2*pi;>> x1 = exp(j*th);>> plot(real(x1),imag(x1),.real(2*x1)

10、,imag(2*x1),.real(3*x1),imag(3*x1),.real(4*x1),imag(4*x1),.real(5*x1),imag(5*x1);>> t = 0:0.05:100;>> x = t;>> y = sin(t);>> z = sin(2*t);>> plot3(x,y,z);>> t = 0:pi/20:2*pi;>> y = sin(t);>> stairs(t,y);思考题3:复数是否能参加逻辑运算?是什么样子?>> x = 5+2*i,3+4j,2,

11、6-7*j;>> y = 5+2*1,4+3j,2,7j;>> c = x&y? Error using => andOperands to AND must not be complex.>> c = x|y? Error using => orOperands to OR must not be complex.>> c = x? Error using => notOperands to NOT must not be complex.报错,说明复数不能参加逻辑运算 实验一 MATLAB语言编程一、 实验目的1、熟

12、悉Matlab语言及其环境,掌握编程方法。2、要求认真听取实验指导老师讲解与演示。二、具体实验内容、步骤、要求 1、运行交互式学习软件,学习MATLAB语言; 2、在MATLAB的命令窗口下键入如下命令:INTRO(注意:intro 为一个用MATLAB语言编写的幻灯片程序,主要演示常用的MATLAB语句运行结果。) 然后,根据现实出来的幻灯片右面按钮进行操作,可按STARTNEXTNEXT按钮一步步运行,观察。3、 自编程序并完成上机编辑,调试,运行,存盘:(一)用MATLAB命令完成矩阵的各种运算,例如:求出下列运算结果,并上机验证。A =11 12 13 14;21 22 23 24;3

13、1 31 33 34;41 42 43 44A = 11 12 13 14 21 22 23 24 31 31 33 34 41 42 43 44>> A(:,1)ans = 11 21 31 41>> A(2,:)ans = 21 22 23 24>> A(1:2,2:3)ans = 12 13 22 23>> A(2:3,2:3)ans = 22 23 31 33>> A(:,1:2)ans = 11 12 21 22 31 31 41 42>> A(2:3)? A(2:3) |Error: Missing varia

14、ble or function.>> A(:)ans = 11 21 31 41 12 22 31 42 13 23 33 43 14 24 34 44>> A(:,:)ans = 11 12 13 14 21 22 23 24 31 31 33 34 41 42 43 44>> ones(2,2)ans = 1 1 1 1>> eye(2)ans = 1 0 0 1(二)、绘制数学函数的图形,例如: y(t)=1-2e-tsin(t) (0<=t<=8) 理解数组运算与矩阵运算功能。>> t=1:0.1:8;>&g

15、t; y = 1-2*exp(1)-t*sin(t);? Error using => mtimesInner matrix dimensions must agree.>> y = 1-2*exp(1)-t.*sin(t);>> plot(t,y)4理解函数文件与命令文件的区别,并自编函数文件并调用M文件分为独立m文件和函数m文件两种,独立m文件由命令描述行写成,存储后,即可在MATLAB平台上单独调用执行。函数m文件需要相应的输入输出变量参数方可执行。Eg:x=0:2*pi/180:2*pi;>> y = exam03(x);>> pl

16、ot(x,y)5.学会通过help,熟悉MATLAB中为用户体统的功能各异的函数与命令实验二 数值积分算法练习与函数调用一、实验目的1、理解数值积分法,熟练掌握MATLAB的函数调用。二、实验题目1、用Eular法求解初值问题的数值解:设方程如下:取步长,上机编写程序求出数值解。>> t0 = 0;tf = 1;x0 =1;h1 = 0.1;>> t =t0:h1:tf;>> n = length(t);>> u = x0;>> uu(1)= u;>> for i = 2:n du = u-2*t(i-1)/u; u =

17、du*h1 + u; uu(i) = uend>> plot(t,uu)2、编写MATLAB程序求解下列方程的数值解:;x(0) = 1;t =0 33. 试将(2-2)方程改为用Eular编程求解试比较用ode23求解结果>> t0 = 0;tf = 3;x0 =1;h1 = 0.1;>> t =t0:h1:tf;>> n = length(t);>> u = x0;>> uu(1)= u;>> for i = 2:n du = u- t(i)2 u = du*h1 + u; uu(i) = uend>

18、> plot(t,uu)4、 试将(2-1)方程改为用ode23算法调用函数求解,并试比较结果。5、利用ode23或ode45求解线性时不变系统微分方程,并绘制出曲线,式中 5、 求出与的单位阶跃响应,并分别求出状态空间模型。>> num = 2;>> den =1 2 1;>> sys1 = tf(num,den) Transfer function: 2-s2 + 2 s + 1>> step(sys1)>> a,b,c,d =tf2ss(num,den)a = -2 -1 1 0b = 1 0c = 0 2d = 0系统G

19、2:>> num2 = 1;>> den2 = 2 3 3 1;>> sys2=tf(num2,den2);>> sys2=tf(num2,den2) Transfer function: 1-2 s3 + 3 s2 + 3 s + 1 >> step(sys2)>> A,B,C,D = tf2ss(num2,den2)A = -1.5000 -1.5000 -0.5000 1.0000 0 0 0 1.0000 0B = 1 0 0C = 0 0 0.5000D = 0选做题一:已知系统传递函数为,求对应的零极点模型,绘

20、制系统阶跃响应。>> d = 1 10 42;>> roots(d)ans = -5.0000 + 4.1231i -5.0000 - 4.1231i>> sys = zpk(-2,-1,-5.0000 + 4.1231i,-5.0000 - 4.1231i,200) Zero/pole/gain: 200 (s+2)-(s+1) (s2 + 10s + 42) >> step(sys)实验三 控制工具箱与SIMULINK软件应用1、 实验目的1、熟悉工具箱及其使用,进行系统仿真分析,通过仿真对系统进行校正校验。2、 实验预习要求2、必须先复习教

21、材及上课介绍的有关控制工具箱命令与SIMULINK仿真工具的使用,并对实验题目作好准备。3、 学会调出、运行已由SIMULINK建立的仿真模型(1)(2)四实验设计题目与要求原系统:G(s)= 1/(s*s)1.加比例环节Kc>> num = 1;>> den = 1 0 0;>> rlocus(num,den)系统不稳定2.加入超前补偿器>> num = 1 1;>> den = conv(1,5,1 0 0);>> rlocus(num,den)3.加入滞后补偿器:>> num1 =1 5;>> den1 = conv(1 0 0,1 1);>> rlocus(num1,den1)44.kc=0.1,0.5,1 仿真时间为10,50,5 四1.(1)Kc=1(2)Kc=0.5(3)Kc = 0.12.a,b,c三个系统比较如下:输入为阶跃信号时输入为速度信号时:实验四 数字控制系统仿真与综合应用一、实验目的1、 掌握用于离散系统的Matlab命令及数字控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论