自动控制上机作业

更新时间:2023-11-25 03:30:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

自动控制上机大作业

班级: 学号: 姓名:

1.1

设质量——阻尼——弹簧系统的微分运动方程为

d2x(t)dx(t)?Kx(t)?f(t) M2?Bdtdt式中,x(t)为位移输出信号,f(t)为输入的力信号。质量为M=1kg,粘性摩擦系数为

B = 5N / m? s?1,弹簧的弹性系数为K=20N/m。当t=0 时,施加外力f(t)=30N,试问系统

何时达到稳定?并画出该机械系统位移、速度随时间变化的曲线以及速度与位移的关系曲

线。

提示:龙格-库塔法求解微分方程数值解的函数:odel13(), 调用方式:[T,Y] = ODE113(ODEFUN,TSPAN,Y0,OPTIONS)。

其中ODEFUN 为用户自定义的系统微分方程的描述,本题中可使用xt4odefile.m 文件定义的函数; TSPAN 表示计算开始和结束的时间;Y0 表示微分方程的初始条件;OPTION 为计算精度的可选参数,由 odese()函数设置。

odel13()函数只接受一阶微分方程的形式,使用时需要先将高阶方程化为若干个一阶微分方程;

绘图函数:plot(),subplot(); 程序:

ft = 30; M=1; B=5;

K=20; %系统参数

tspan = [0 20]; %设置仿真开始和结束时间 x0 = [0,0]; %系统初始值,零初始条件

options = odeset('AbsTol',[1e-6;1e-6]); %设置仿真计算精度 [t,x] = ode113('xt4odefile',tspan,x0,options); %微分方程求解。

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

%显示计算结果

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;

其中xt4odefile.m文件为:

function xt = odefileC(t,x); ft = 30;M=1;B=5;K=20;

xt = [x(2);1/M*(ft-B*x(2)-K*x(1))]; 计算结果:

位移 d=1.5000

速度 v=-0.000086

加速度 a=-0.000084

时间 t=4.46

1.2

假设控制系统的传递函数为

(2s2?5s?7)(s3?6s2?10s?6)

试求其零点、极点和增益, 并进行部分分式展开。

提示:传递函数描述:tf(), 调用方式:SYS = TF(NUM,DEN)。

求取零点和极点的函数:tf2zp(), 调用方式:[Z,P,K] = TF2ZP(NUM,DEN) 传递函数的部分分式展开:residue(), 调用方式:[R,P,K] = RESIDUE(B,A)clc

sys=tf([2 5 7],[1 6 10 6]) disp('零点极点分别为Z,P')

[Z,P,K]=tf2zp([2 5 7],[1 6 10 6]) B=[2 5 7]; A=[1 6 10 6];

disp('部分分式展开') [R,P,K] = RESIDUE(B,A)

计算结果:

Transfer function:

2 s^2 + 5 s + 7 ---------------------- s^3 + 6 s^2 + 10 s + 6

零点极点分别为Z,P Z =

-1.2500 + 1.3919i -1.2500 - 1.3919i P =

-3.7693 -1.1154 + 0.5897i -1.1154 - 0.5897i K = 2

部分分式展开 R =

2.2417 -0.1208 - 1.0004i -0.1208 + 1.0004i P =

-3.7693 -1.1154 + 0.5897i -1.1154 - 0.5897i K = []

1.3

考虑由下式表示的高阶系统

6.3223 s2?18s?12.811 4 ,试求取 32s?6s?11.3223s?18s?12.811系统的单位阶跃响应,并计算系统的上升时间、峰值时间、超调量和调整时间(2%误差带)。

提示:阶跃响应函数:step(), 调用方式:[Y,T] = STEP(SYS)。

法一clc

sys=tf([6.3223 18 12.811],[1 6 11.3223 18 12.811 ]) [y,t]=step(sys); mp=max(y);

tp=spline(y,t,mp)%峰值时间 cs=length(t);

本文来源:https://www.bwwdw.com/article/fp0t.html

Top