自动控制原理matlab仿真实验实验严进宁
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 系统的数学模型
一、实验目的和任务
1、 学会使用MATLAB 的命令;
2、 掌握MATLAB 有关传递函数求取及其零、极点计算的函数。
3、 掌握用MATLAB 求取系统的数学模型
二、实验仪器、设备及材料
1、 计算机
2、 MATLAB 软件
三、实验原理
1、 MATLAB 软件的使用
2、 使用MATLAB 软件在计算机上求取系统的传递函数
四、实验报告要求
1、 将各实验内容的要求写入实验报告。
2、 写出要求的实验程序。
3、 记录各命令运行后的结果
五、实验内容
例1-3、设置传递函数2
2)13()5(6)(+++=s s s s G ,时间延迟常数4=τ 方式1:set(G,'ioDelay',4) %为系统的ioDelay 属性设定值
G %显示传递函数
解:该传递函数模型可以通过下面的语句输入到MATLAB 工作空间为: >> num=6*[1,5];
den=conv([1,3,1],[1,3,1]);
G=tf(num,den);
set(G,'ioDelay',4)
G
运行结果为:
Transfer function:
6 s + 30
exp(-4*s) * ------------------------------
s^4 + 6 s^3 + 11 s^2 + 6 s + 1
例1-4、已知传递函数2
2)13()5(6)(+++=s s s s G
,提取系统的分子和分母多项式(实验) 解:提取系统的分子和分母多项式程序为:
>> num=6*[1,5];
den=conv([1,3,1],[1,3,1]);
G=tf(num,den)
[num den]=tfdata(G,'v')
运行结果为:
Transfer function:
6 s + 30
------------------------------
s^4 + 6 s^3 + 11 s^2 + 6 s + 1
num =
0 0 0 6 30
den =
1 6 11 6 1
例1-5例1-5 某系统的零极点模型为:
)
22)(22)(2)(1()5(6)(2
j s j s s s s s G -++++++= 方法2:利用算子(实验)
>> s=zpk('s')
G=6*(s+5)^2/((s+1)*(s+2)*(s+2+2)*(s+2-2))
运行结果为:
Zero/pole/gain:
6 (s+5)^2
-------------------
s (s+1) (s+2) (s+4)
例1-7已知系统传递函数)
2)(36(114222s s s s s s G +++++=,求零极点及增益,并绘制系统零极点分布图。(实验)
(1)零极点及增益:
〉〉num=[1,4,11];
den=conv([1,6,3],[1,2,0]);
G=tf(num,den)
[z,p,k]=zpkdata(G,'V')
运行结果为:
Transfer function:
s^2 + 4 s + 11
--------------------------
s^4 + 8 s^3 + 15 s^2 + 6 s
z =
+
-
p =
k =
1
(2)系统零极点分布图:
〉〉num=[1,4,11];
den=conv([1,6,3],[1,2,0]);
G=tf(num,den)
pzmap(G)
Transfer function:
s^2 + 4 s + 11
--------------------------
s^4 + 8 s^3 + 15 s^2 + 6 s
例1-11 给定零极点模型:
)
5.1)(23())7)(2(8.6)(+±+++=s j s s s s s G
用MATLAB命令得出其等效的零极点传递函数模型。输入程序的过程中要注意大小写。〉〉den1=conv([1 3 2j],[1 3 -2j]);
den2=conv(den1,[1 ]);
G=tf(conv([1 2],[1 7]),conv([1 0],den2))
运行结果为:
G =
s^2 + 9 s + 14
-----------------------------------------------
s^6 + s^5 + 18 s^4 + s^3 + 4 s^2 + 6 s
实验内容:
1、特征多项式的建立与特征根的求取在命令窗口依次运行下面命令,并记录
各命令运行后结果
>> p=[1,3,0,4]
p =
1 3 0 4
>> r=roots(p)
r =
+
-
>> p=poly(r)
p =
2、求单位反馈系统的传递函数:
输入运行命令:
>> numg=[1];deng=[500,0,0];
numc=[1,1];denc=[1,2];
[num1,den1]=series(numg,deng,numc,denc);
[num,den]=cloop(num,den,-1);
printsys(num,den)
运行结果:
num/den =
s + 1
----------------------------
500 s^3 + 1000 s^2 + 4 s + 4
3、传递函数零、极点的求取
在命令窗口依次运行下面命令,并记录各命令运行后结果: