MATLAB实验报告III
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五复杂系统的计算机仿真及建立自动控制系统数学模型及仿真
一、实验目的
1、为了培养学生分析问题解决问题的能力,帮助学生建立系统分析的思想
以及加强对所学知识的综合运用的能力。
二、实验内容
【例10-1】某正弦信号为y=0.5+sin(10πt),试用函数dtrend对信号进行处理。
用MATlAB编写处理程序:
t=0:0.01:1;
freq=5;
y=sin(2*pi*freq*t)+0.5;
plot(t,y,'b');
hold on
z2=dtrend(y);
plot(t,z2,'r');
grid
hold off
运行结果:
[10-6]绘出例4—5的测试数据组dryer2的频率特性估计。
用MATLAB编写程序为:
clf
load dryer2%调入数据文件 dryer2
z2=[y2(1:300) u2(1:300)];
z2=dtrend(z2); %去除趋势项
disp('Frequency Response');
figure(1)
G=etfe(z2,32) %求频率特性32表示对数据平滑处理,处理频率为1/32 Bodeplot(G) %绘制频率响应图
运行结果:
[例10—7]用函数SPA绘制系统的频率特性和噪声频谱图。
用MATLAB编写程序如下:
clf
load dryer2
z2=[y2(1:300) u2(1:300)]
z2=dtrend(z2);
disp('Frequency Response')
[G,Nsp]=spa(z2,32);
figure(1)
bodeplot(G);
figure(2)
bodeplot(Nsp);
运行结果:
例[10-8] 已知输出输出数据组dryer2求2阶和5阶的AR模型参数。
用MATLAB编写的辨识程序如下:
clf
load dryer2
disp('Mode of AR 1')
z2=y2(1:300)
z2=dtrend(z2)
thar=ar(z2,1); %求AR模型参数
thar=sett(thar,0.08);
present(thar) % 显示结果
例[10-9] 已知输出输入数据组dryer2,分别用函数ARX和函数iV4求ARX模型参数。
用MATLAB编写程序如下
% MATLAB PROGRAM 6—9
load dryer2
z2=[y2(1:300) u2(l:300)];
z2=dtrend(z2);
disp(‘Mode of ARX-322’) %求ARX模型(LS法), na=3, nb=2,
nk=2
th=arx(z2,[3 2 2]);
th=sett(th,0.08)
present(th) %显示模型
disp(‘Mode of IV-322’) %求ARX模型(IV法), na=3, nb=2,
nk=2
th=IV4(z2,[3 2 2]);
th=sett(th,0.08)
present(th) %显示模型
%求传递函数和零极点模型
num=[0 0 1];
den=[1 2.5 1];
sys1=tf(num,den);
printsys(num,den,'s')
sys=zpk(sys1)
运行结果:
num/den =
1
---------------
s^2 + 2.5 s + 1
Zero/pole/gain:
1
-------------
(s+2) (s+0.5)
2、单位阶跃响应
求:超调量、响应时间、稳态误差分析系统
clf
load dryer2
z2=[y2(1:300) u2(l:300)];
z2=dtrend(z2);
disp('Mode of ARX-322') %求ARX模型(LS法), na=3, nb=2, nk=2
th=arx(z2,[3 2 2]);
th=sett(th,0.08)
present(th) %显示模型
disp('Mode of IV-322') %求ARX模型(IV法), na=3, nb=2, nk=2
th=IV4(z2,[3 2 2]);
th=sett(th,0.08)
present(th) %显示模型
运行结果:
t1 =
0 5 10 15 20
y1 =
0.9936
1.0000
1.0000
1.0000
t1 =
0 5 10 15 20 y1 =
0.9936
1.0000
1.0000
1.0000
3、单位脉冲响应
%单位脉冲响应
n1=[1];d1=[0.017,1];s1=tf(n1,d1);
n2=[1];d2=[0.075,0];s2=tf(n2,d2);
sys1=feedback(s1*s2,1);
n3=[0.049 1];d3=[0.088 0];s3=tf(n3,d3);
n4=[0 44];d4=[0.00167];s4=tf(n4,d4);
n5=1;d5=0.1925;s5=tf(n5,d5);
n6=0.01178;d6=1;s6=tf(n6,d6);
sysq=sys1*s3*s4*s5;
sys=feedback(sysq,s6);
tf(sys)
运行结果:
Transfer function:
2.156 s + 44
---------------------------------------------------- 3.607e-008 s^3 + 2.122e-006 s^2 + 0.02543 s + 0.5183
>>
4、求零输入响应