西电电院自动控制技术上机报告.doc

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西电电院自动控制技术上机报告

自动控制技术上机实验报告 班级:021215 学号4 姓名 clear all; ft = 30; M=1; B=5; K=20; %系统参数 t0=0; tfinal = 5; tspan = [t0 tfinal]; %设置仿真开始和结束时间 x0 = [0,0]; %系统初始值,零初始条件 options = odeset(AbsTol,[1e-6;1e-6]); %设置仿真计算精度 [t,x] = ode113(xt4odefile,tspan,x0,options); %微分方程求解,计算位移x(:,1)和速度x(:,2) a = 1/M*(ft-B*x(:,2)-K*x(:,1)); %计算加速度 i = 1; while (abs(a(i))0.0001|(abs(x(i,2))0.0001)) i = i+1; end disp(稳态时系统的位移、速度和加速度及对应的时间分别为: ); %显示计算结果 result = sprintf(位移 d=%6.4f\n,x(i,1)); disp(result); result = sprintf(速度 v=%8.6f\n,x(i,2)); disp(result); result = sprintf(加速度 a=%9.6f\n,a(i)); disp(result); result = sprintf(时间 t=%4.2f\n,t(i)); disp(result); d = x(:,1); subplot(1,3,1),plot(t,d); %绘制时间-位移曲线 xlabel(时间(秒));ylabel(位移(米)); title(时间-位移曲线);grid; v = x(:,2); subplot(1,3,2),plot(t,v); %绘制时间-速度曲线 xlabel(时间(秒));ylabel(速度(米/秒)); title(时间-速度曲线);grid; subplot(1,3,3),plot(d,v); %绘制位移-速度曲线 xlabel(位移(米));ylabel(速度(米/秒)); title(位移-速度曲线);grid; 运行结果: EX11 稳态时系统的位移、速度和加速度及对应的时间分别为: 位移 d=1.5000 速度 v=-0.000086 加速度 a=-0.000084 时间 t=4.46 源程序代码: close all; clear all; num = [0,2,5,7]; den = [1,6,10,6]; [z1,p1,k1] = tf2zp(num,den) [r2,p2,k2] = residue(num,den) 运行结果: EX12 z1 = -1.2500 + 1.3919i -1.2500 - 1.3919i p1 = -3.7693 + 0.0000i -1.1154 + 0.5897i -1.1154 - 0.5897i k1 = 2 r2 = 2.2417 + 0.0000i -0.1208 - 1.0004i -0.1208 + 1.0004i p2 = -3.7693 + 0.0000i -1.1154 + 0.5897i -1.1154 - 0.5897i k2 = [] 源程序代码: clc a=[6.3223 18 12.811]; b=[1 6 1.322 18 12.811]; sys=tf(a,b); t=0:.005:35; step(sys) title(系统的单位阶跃响应) [y,t]=step(a,b,t); r=1; while(y(r)1.001) r=r+1;end; rise_time=(r-1)*0.005 %求系统上升时间 [ymax,tp]=max(y); peak_time=(tp-1)*0.005 k=dcgain(sys); max_overshoot=(ymax-k)/k s=7001; while(y(s)0.98y(s)1.02) s=s-1;end setting_time=(s-1)*0.005 运行结果: rise_time = 0.7050 peak_time = 34.6100 max_overshoot = 2.6819e+06 setting_time = 35 源程序代码: num=[1 1];den=[1 5 6

文档评论(0)

jiqinyu2015 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档