实验3 典型闭环系统的阶跃响应的仿真

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

实验3 典型闭环系统的阶跃响应的仿真

一、实验目的

1. 了解MATLAB 在仿真中的具体应用

2. 熟悉MATLAB 语言环境

3. 掌握M 文件的应用

二、实验步骤

1. 对控制系统的典型结构形式二次模型化,经一定方式把数学模型转化为便于在计算

机上运行的表达形式。

2. 讨论采用数值积分法求解系统响应的仿真程序实现,绘制仿真框图。

x 0t f

t j

k 1

1,++k k y x f

t t =图3-1 典型闭环系统的仿真程序框图

3.编写MATLAB程序语句,实现对典型闭环系统的阶跃响应的仿真

Filename:sa.m

1)输入数据

a=[a0,a1,…,an]; %% n+1维分母系数向量

b=[b0,b1,…,bm]; %% m+1维分子系数向量

X0=[x0,x1,…,xn]; %% 状态向量初值

V=V0; %% 反馈系数

n=n0; %% 系统阶次

T0=t0; %% 起始时间

Tf=tf; %% 终止时间

h=h0; %% 计算步长

R=r; %% 阶跃输入函数的幅值

2)形成开、闭环系数阵

b=b/a(1);

a=a/a(1);

A=a(2:n+1); %% 首一化处理

A=[rot90(rot90(eye(n-1,n)));-fliplr(A)]; %%形成能控标准型A阵

B=[zeros(1,n-1),1]'; %%形成输入阵B

m1=length(b); %%分子向量维数M+1

C=[fliplr(b),zeros(1,n-m1)]; %%形成输出阵C

Ab=A-B*C*V; %%形成闭环系数阵

X=X0';

y=0;

t=T0; %%设初值,准备开始递推运算

3)运算求解

N=round(Tf-T0)/h; %%确定输出点数

for i=1:N %%四阶龙格-库塔法

K1=Ab*X+B*R;

K2=Ab*(X+h*K1/2)+B*R;

K3=Ab*(X+h*K2/2)+B*R;

K4=Ab*(X+h*K3)+B*R; %%求各次斜率K

X=X+h*(K1+2*K2+2*K3+K4)/6; %%求状态

y=[y,C*X]; %%求输出并以向量形式保存

t=[t,t(i)+h];

end

4) 输出结果

[t',y'] %% 输出数据形式的结果

plot(t,y,'g:') %%输出曲线形式的结果

具体应用:根据以上所述,求图5-2所示系统的阶跃响应y(t)的数值解。

图3-2 控制系统结构图

此系统结构形式为典型闭环控制系统,用sa.m求解过程如下:

1)取开环放大系数=1,反馈系数=1(单位反馈系统),阶跃输入幅值=1.

2)利用MATLAB语言的卷积函数功能,先将系统开环传递函数化成传递函数形式的分

母、分子多项式形式系数向量.

3)设置系统状态向量初值均为0.

4)系统运行参数.

5)按以上步骤和参数,在MATLAB环境下,输入以下命令语句(>>表示在MATLAB命令窗

口环境).

>> k=1; %% K为斜率

>>a=conv([1 0 0],conv([0.25 1],[0.25 1]));

>>b=[2*k k];

>>X0=[0 0 0 0]; %%状态向量初值

>>V=1; %%反馈系数

>>n=4; %%系统阶次

>>T0=0; %%起始时间

>>Tf=10; %%终止时间

>>h=0.25; %%计算步长

>>R=1; %%阶跃输入函数的幅值

>>sa.m

>>[t',y'] %% 输出数据形式的结果

由上述MATLAB程序语句实现对典型闭环系统的阶跃响应的仿真,当斜率k与反馈系数v取不同的值时,得到不同的阶跃响应曲线,对系统进行分析。这里给出了斜率k取不同值而反馈系数v不变时的仿真曲线。本实验的仿真结果也可由图5-3所示的M文件得到。

图3-3 阶跃响应M程序文件

表1 K=1时的输出响应数据

t y(t) t y(t) t y(t) t y(t) 0.2500 0.0447 2.7500 1.0619 5.2500 1.0776 7.7500 1.0043 0.5000 0.2779 3.0000 0.9399 5.5000 1.0589 8.0000 1.0095

0.7500 0.6392 3.2500 0.8715 5.7500 1.0345 8.2500 1.0118

1.0000 1.0237 3.5000 0.8563 6.0000 1.0106 8.5000 1.0113 1.2500 1.3410 3.7500 0.8826 6.2500 0.9919 8.7500 1.0088 1.5000 1.5361 4.0000 0.9333 6.5000 0.9809 9.0000 1.0053

1.7500 1.5944 4.2500 0.9905 6.7500 0.9778 9.2500 1.0018

2.0000 1.5342 4.5000 1.0397 7.0000 0.9811 9.5000 0.9990 2.2500 1.3950 4.7500 1.0718 7.2500 0.9883 9.7500 0.9972 2.5000 1.2235 5.0000 1.0837 7.5000 0.9968 10.0000 0.9966

表2 K=0.5时的输出响应数据

t y(t) t y(t) t y(t) t y(t) 0.2500 0.0221 2.7500 1.4661 5.2500 1.0011 7.7500 0.9791 0.5000 0.1410 3.0000 1.4508 5.5000 0.97708.0000 0.9860

0.7500 0.3342 3.2500 1.4140 5.7500 0.96068.2500 0.9920

1.0000 0.5631 3.5000 1.3626 6.0000 0.95108.5000 0.9970 1.2500 0.7948 3.7500 1.3030 6.2500 0.94708.7500 1.0010 1.5000 1.0055 4.0000 1.2406 6.5000 0.94749.0000 1.0038

1.7500 1.1809 4.2500 1.1798 6.7500 0.95109.2500 1.0058

2.0000 1.3141 4.5000 1.12377.0000 0.95699.5000 1.0068 2.2500 1.4038 4.7500 1.07457.2500 0.96409.7500 1.0072 2.5000 1.4527 5.0000 1.03357.5000 0.971610.0000 1.0070

表2 K=0.2时的输出响应数据

t y(t) t y(t) t y(t) t y(t) 0.2500 0.0089 2.7500 1.0137 5.2500 1.48857.7500 1.2493 0.5000 0.0569 3.0000 1.1031 5.5000 1.4874 8.0000 1.2110

0.7500 0.1372 3.2500 1.1837 5.7500 1.4792 8.2500 1.1728

1.0000 0.2381 3.5000 1.2549 6.0000 1.4648 8.5000 1.1352 1.2500 0.3502 3.7500 1.3166 6.2500 1.4447 8.7500 1.0987 1.5000 0.4673 4.0000 1.3685 6.5000 1.4198 9.0000 1.0638

1.7500 0.5849 4.2500 1.4108 6.7500 1.3909 9.2500 1.0309

2.0000 0.7003 4.5000 1.4435 7.0000 1.3586 9.5000 1.0003 2.2500 0.8112 4.7500 1.4671 7.2500 1.3238 9.7500 0.9722 2.5000 0.9161 5.0000 1.4819 7.5000 1.2871 10.0000 0.9468

相关文档
最新文档