自控实验报告第四次_陈尧.docx

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

成绩北 京 航 空 航 天 大 学自动控制原理实验报告学院仪器科学与光电工程学院专业方向惯性技术与导航仪器班级学号学生姓名尧爸爸指导教师自动控制与测试教学实验中心实验四 控制系统数字仿真实验目的通过本实验掌握利用四阶龙格——库塔法进行控制系统数字仿真的方法,并分析系统参数改变对系统性能的影响。实验内容已知系统结构如图4-1 :图4-1若输入为单位阶跃函数,计算当超调量分别为5%,25%,50%时K的取值(用主导极点方法估算),并根据确定的K值在计算机上进行数字仿真。理论计算1.求解ζ和主导极点所对应角度β①根据公式:,可以解得相应的ξ2.用matlab绘制系统的根轨迹并找到主导极点由cosβ=ξ,过原点做倾角为180-β的直线,与系统根轨迹的交点即为系统主导极点。代码如下:%%绘制跟轨迹和主导极点所在位置%hold on;num=[1]; dun=[1,10,25,0]; rlocus(num,dun)t=-4:0.001:0;y1=-t*tan(46.37/57.3);y2=-t*tan(66.19/57.3);y3=-t*tan(77.555/57.3);plot(t,y1,t,y2,t,y3);3.求解K值由模值方程可解K计算机仿真1. 实验程序①四阶龙格库塔计算函数:RgKta.m%RgKta.m%功能:进行龙格库塔计算。(A,B,C,D)为系统的系数矩阵,x0为输入,h为仿真步长,%r为输入信号幅值,t0为仿真的起始时间,tf为终止时间;t为仿真时间,y为系统输出function [t,y]=RgKta(A,B,C,D,x0,h,r,v,t0,tf); x=x0; y=0; t=t0;for i=1:tf/h K1=A*x+B*r; K2=A*(x+h*K1/2)+B*r; K3=A*(x+h*K2/2)+B*r; K4=A*(x+h*K3)+B*r; x=x+h*(K1+2*K2+2*K3+K4)/6; y=[y;C*x]; t=[t;t(i)+h]; end②stepspecs.mfunction [os,ts,tr]=stepspecs(t,y,yss,sp) %STEPSPECS System Step Response Specifications.% [OS,Ts,Tr]=STEPSPECS(T,Y,Yss,Sp) returns the percent overshoot OS, % settling time Ts, and rise time Tr from the step response data contained % in T and Y.% Y is a vector containing the system response at the associated time % points in the vector T. Yss is the steady state or final value of the % response.% If Yss is not given, Yss=Y(end) is assumed. Sp is the settling time % percentage.% If Sp is not given, Sp = 5% is assumed. The settling time is the time it % takes the response to converge within +-Sp percent of Yss. % The rise time is assumed to be the time for the response to initially % travel from 10% to 90% of the final value Yss. % D.C. Hanselman, University of Maine, Orono, ME 04469 % Mastering MATLAB 7 % 2005-03-20 %-------------------------------------------------------------------------- N=length(y); if y(1)0 y1=mean(y(1:floor(0.01*N))); y=y-y1; endifnargin2 error(At Least Two Input Arguments are Required.) endifnumel(t)~=length(t) || numel(y)~=length(y) error(T and Y Must be V

文档评论(0)

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

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

1亿VIP精品文档

相关文档