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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩北京航空航天大学

自动控制原理实验报告

学院仪器科学与光电工程学院

专业方向惯性技术与导航仪器

班级

学号

学生姓名尧爸爸

指导教师

自动控制与测试教学实验中心

实验四控制系统数字仿真

目录

一、实验目的 (3)

二、实验内容 (3)

三、理论计算 (3)

1.求解ζ和主导极点所对应角度β (3)

2.用matlab绘制系统的根轨迹并找到主导极点 (3)

3.求解K值 (4)

四、计算机仿真 (5)

1. 实验程序 (5)

①四阶龙格库塔计算函数:RgKta.m (5)

②stepspecs.m (5)

③主程序test.m (7)

2. 超调量和ts (8)

3.阶跃响应曲线 (8)

五.实验总结 (9)

一、 实验目的

通过本实验掌握利用四阶龙格——库塔法进行控制系统数字仿真的方法,并分析系统参数改变对系统性能的影响。

二、 实验内容

已知系统结构如图4-1 :

图4-1

若输入为单位阶跃函数,计算当超调量分别为5%,25%,50%时K 的取值(用主导极点方法估算),并根据确定的K 值在计算机上进行数字仿真。

三、 理论计算

1.求解ζ和主导极点所对应角度β

①根据公式:%100%e

πξσ-=⨯,可以解得相应的ξ

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∗=s−p1|s−p2||s−p3|可解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.m

function [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;

end

if nargin<2

error('At Least Two Input Arguments are Required.')

end

if numel(t)~=length(t) || numel(y)~=length(y)

error('T and Y Must be Vectors.')

end

if nargin==2

yss=y(end);

yss=mean(y(floor(0.9*N):N));

sp=5;

elseif nargin==3

sp=5;

end

if isempty(yss)

yss=mean(y(floor(0.9*N):N));

end

if yss==0

error('Yss Must be Nonzero.')

end

if yss<0 % handle case where step response may be negative

y=-y;

相关文档
最新文档