1、机电控制系统仿真 实验报告 科 技 学 院Science and Technology College上机调试报告课程名称:机电控制系统仿真指导教师:专业班级:姓 名:学 号:成 绩:2012年12月第一次上机:MATLAB语言基础1.1 问题描述本次上机共进行了3个问题的调试,分别是:1 命令窗口中矩阵的定义与常用矩阵的生成;2 矩阵的运算;3 二维图形的绘制4 多项式根的求解与反求5 循环语句的应用1.2 程序编制对应于问题的程序如下:a=ones(3,2)b=ones(3)v=1,2,3,4a=diag(v)a=rand(3,2)a=1; b=2; c=3; x=5 b c; a*b a
2、+c c/ba=linspace(1,10,10)a= eye(3,2)b= eye(3)a=zeros(3,2) b= zeros(3) 对应于问题的程序如下:a=1 2 3; 4 5 6; 2 3 5; b=inv(a)c=det(a)d=rank(a)a=1 2 3;3 4 5; m,n=size(a)length(A)=max(size(A)a=1 2 3;4 5 6a1=1 2 3;4 5 6.b=1+2i 2-7ib2=1+2i 2-7i.对应于问题的程序如下:xlabel(time/s)ylabel(amplitude/1)axis(0,6.28,-1.5,1.5)figure(
3、2)subplot(2,1,1)plot(t,y2)xlabel(time/s)ylabel(amplitude/1)axis(0,6.28,-1.5,1.5)subplot(2,1,2)plot(t,y3)xlabel(time/s)ylabel(amplitude/1)axis(0,6.28,-1.5,1.5)t=0:0.01:2*pi;y=sin(t);y1=sin(t+0.5*pi);y2=cos(t);y3=cos(t+0.5*pi);figure(1)subplot(1,2,1)plot(t,y)xlabel(time/s)ylabel(amplitude/1)axis(0,6.2
4、8,-1.5,1.5)subplot(1,2,2)plot(t,y1)对应于问题的程序如下:p=1 -12 0 25 116;a=roots(p)r=11.7473, 2.7028, -1.2251 + 1.4672i, -1.2251 - 1.4672i;p=poly(r)a=1 2 3 ; b=1 2;c=conv(a,b)对应于问题的程序如下:A=zeros(9);for i=1:1:9 for j=1:1:9 a(i,j)=i*j; if ij a(i,j)=0 end endend1.3 运行结果对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,
5、运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下:a = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672ip = 1.0000 -11.9999 -0.0015 25.0012 116.0023c = 1 4 7 6对应于问题,运行程序后得到结果如下:第二次上机:MATLAB的符号运算2.1 问题描述本次上机共进行了5个问题的调试,分别是:1 命令窗口中符号矩阵的定义;2 命令窗口中符号矩阵的修改;3 计算不定积分4 拉氏变换和反拉氏变换5 方程求解6 用matlab表示传递函数2.2 程序编制对应于问题的程序如下: A = sy
6、m(a , 2*b ; 3*a , 0)B = a,2*b; 3*a, 0对应于问题的程序如下:A1=subs(A, b, c) A1(2,2)=4*b对应于问题的程序如下:m=int(int(x*exp(-x*y),x),y)对应于问题的程序如下:n=laplace(m)k=ilaplace(n)对应于问题的程序如下:f=a*x2+b*x+c; solve(f) %方程f = ax2+bx+c 求解f=a*x2+b*x+c; solve(f, b) %指定求解变量为b对应于问题的程序如下:num=1,1;den=1,2,1; %传递函数分子分母系数(降幂排列)G=tf(num,den)2.3
7、 运行结果对应于问题,运行程序后得到结果如下: B = a,2*b3*a, 0A = a, 2*b 3*a, 0 对应于问题,运行程序后得到结果如下: A1 = a, 2*(c) 3*a, 4*bA1 = a, 2*(c) 3*a, 0对应于问题,运行程序后得到结果如下: m = 1/y*exp(-x*y)对应于问题,运行程序后得到结果如下:n = k = 1/y/(s+y) 1/y*exp(-y*t)对应于问题,运行程序后得到结果如下:ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2)对应于问题,运行程序后得到结果如下:Tran
8、sfer function: s + 1-s2 + 2 s + 1第三次上机:控制系统的MATLAB分析3.1 问题描述本次上机共进行了8个问题的调试,分别是:1 系统传递函数的求解;2 带反馈的传递函数系统阶跃响应和单位脉冲响应求解;3 阻尼比变化时的阶跃响应求解4 系数变化时的系统阶跃响应求解5 输入为任意函数的系统响应求解6 判定系统稳定性7 典型环节的波德(Bode)图绘制8 奈奎斯特图的绘制3.2 程序编制对应于问题的程序如下: syms t s r R c C;r=1*sym(heaviside(t)+t*sym(heaviside(t);c=t+0.9-0.9*exp(-10*t
9、);R=laplace(r);C=laplace(c);G0=C/R;G=factor(G0)对应于问题的程序如下:num=20;den=1 8 36 40 0;sys1=tf(num,den);sys=feedback(sys1,1);t=0:0.1:10;y=step(sys,t);plot(t,y)%dc=dcgain(numc,denc)dc=dcgain(sys)num=20;den=1 8 36 40 0;sys1=tf(num,den);sys=feedback(sys1,1);t=0:0.1:10;y=impulse(sys,t);plot(t,y)num=1;t=0:0.1:
10、19.9for bc=0.1:0.1:1den=1,2*bc,1;sys=tf(num,den); i=i+1; step(sys,t) hold onend对应于问题的程序如下: 对应于问题的程序如下:num=1;den=conv(conv(1 0,0.5 1),4,1);rangek=1.4,2.3,3.5;t=linspace(0,20,200);for j=1:3 s1=tf(num*rangek(j),den); sys=feedback(s1,1); y(:,j)=step(sys,t);endplot(t,y(:,1:3),gridgtext(k=1.4),gtext(k=2.3
11、);gtext(k=3.5)对应于问题的程序如下: 对应于问题的程序如下:hold on;plot(t,u,:);clearP=1 2 3 4 5;roots(P)num=1;den=1 1;sys=tf(num,den);t=0:0.01:10;u=sin(2*t);lsim(sys,u,t);hold on; % 固有频率为1,阻尼比0.1的振荡环节num=1;den=1 0.0 1;sys2=tf(num,den);figure(3)bode(sys2)%惯性环节num=1;den=1 1;figure(2)sys1=tf(num,den);bode(sys1)%积分环节num=1;de
12、n=1 0;sys=tf(num,den);figure(1)bode(sys)对应于问题的程序如下:sys=tf(num3,den3);figure(1)nyquist(sys);title(nyquist plot)figure(2) %绘制冲击响应曲线验证判断numc,denc=cloop(num3,den3);impulse(numc,denc)num1=16.7 0;den1=conv(0.85 1,conv(0.25 1,0.0625 1);num2,den2=cloop(num1,den1);num3=10*num2;den3=den2;z,p,k=tf2zp(num3,den3
13、);%P=num3+den3;%roots(P)对应于问题的程序如下: 3.3 运行结果对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 对应于问题,运行程序后得到结果如下: 第四次上机:控制系统的Simulink仿真4.1 问题描述本次上机共进行了1个问题的调试:带单位响应的阶跃响应模型建立与验证。4.2 程序编制模型建立如下:“Start Simulation”之后,双击“Scope”的下图:“Command”验证程序及结果如下:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1