控制工程MATLAB实验报告Word文档格式.docx
《控制工程MATLAB实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《控制工程MATLAB实验报告Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
(1).输入A=[715;
256;
315],B=[111;
222;
333],
在命令窗口中执行下列表达式,掌握其含义:
A(2,3)A(:
2)A(3,:
)A(:
1:
2:
3)
A(:
3).*B(:
2)A(:
3)*B(2,:
)A*BA.*B
A^2A.^2B/AB./A
(2).输入C=1:
20,则C(i)表示什么?
其中i=1,2,3,…,10;
(3).查找已创建变量的信息,删除无用的变量;
(4).试用help命令理解下面程序各指令的含义:
clear
t=0:
0.001:
2*pi;
subplot(2,2,1);
polar(t,1+cos(t))
subplot(2,2,2);
plot(cos(t).^3,sin(t).^3)
subplot(2,2,3);
polar(t,abs(sin(t).*cos(t)))
subplot(2,2,4);
polar(t,(cos(2*t)).^0.5)
4实验步骤:
打开MATLAB程序,将实验内容中的题目依次输入MATLAB中,运行得到并记录结果,最后再对所得结果进行验证。
5实验报告内容
(1)>
>
A=[715;
315]
A=
715
256
315
B=[111;
333]
B=
111
222
333
A(2,3)“取矩阵A中第二行第三列的元素”
ans=
6
A(:
2)“取矩阵A中第二列的元素”
1
5
A(3,:
)“取矩阵A中第三行的元素”
3)“使矩阵的第一列到第二列,第二例到第三列,构成新的2*3的矩阵”
75
26
35
2)“取矩阵A的三列和B的第二列,对应元素一次相乘”
12
15
)“取矩阵A的三列和B的第二行,对应元素进行叉乘”
101010
121212
A*B“矩阵进行叉乘”
242424
303030
202020
A.*B“两矩阵对应元素相乘”
41012
9315
A^2“矩阵A叉乘上矩阵A”
661766
423370
381346
A.^2“举证A中的元素翻倍”
49125
42536
9125
B/A“矩阵B除以矩阵A”
0.18420.2105-0.2368
0.36840.4211-0.4737
0.55260.6316-0.7105
B./A“两矩阵对应元素相除”
0.14291.00000.2000
1.00000.40000.3333
1.00003.00000.6000
(2)>
C=1:
20
C=
135791113151719
C(i)表示奇数2*i-1
(3)查找已创建变量的信息,删除无用的变量
clear“清除”
“定义时间向量”
“定义多块图画的绘图位置”
polar(t,1+cos(t))“绘制函数图像”
(4)polar(t,(cos(2*t)).^0.5)
实验二MATLAB控制系统工具箱使用
(1)了解Matlab控制系统工具箱中常用函数.
(2)掌握模型转换方法以及奈氏图、伯德图的绘制。
(3)掌握系统脉冲、阶跃等响应的仿真方法
计算机Win7、Matlab7.0软件
(1)利用residue函数求取传递函数的部分分式展开式
(2)利用tf函数构建系统传递函数
(3)利用impulse、step、lsim等函数仿真系统的单位脉冲、阶跃、速度响应。
(4)画出单位负反馈的开环传递函数的在频率0.01-100rad/s间的伯德图
(5)画出系统的乃奎斯特图
4实验步骤及内容
(1)写出传递函数的部分展开式
a.列些分子num、分母den的系数
b.利用residue(num,den)求出零极点和余项
实验运行结果:
r=[1.00002.5000-3.00000.5000]p=[-4.000-3.0000-2.000-1.0000]k=1
(2)对于系统
A.首先利用conv函数展开分母,获得各阶系数,此时num=[1421];
den=conv(conv(conv([100],[31]),conv([12],[12])),[5038])
b.再利用tf函数构建传递函数
运行结果:
G(S)=
(3)a.用tf(num,den)函数构建高阶系统传递函数
b.构建时间向量t
c用函数impulse及step仿真系统的单位脉冲响应、单位阶跃响应
d.用lism函数仿真系统速度响应
e.程序调试成功后实验结果:
Aimpulse单位脉冲信号实验结果
Bstep单位阶跃信号仿真结果
Clism函数仿真系统速度响应
(4)绘制单位负反馈的开环传递函数的伯德图。
a.写出num,den
b.用logspace函数设定频率范围
c利用bode函数输入幅值增益、相位
d.把增益值转换为分贝值
e.添加网格线,并生成二行一列的图表
f.用semilogx在两个图标中分别生成幅值频率和相频特性曲线。
g.用margin函数获取开环的幅值裕量和相位裕量。
h.程序调试后写入实验报告
margin函数获取开环的幅值裕量和相位裕量。
Gm=InfPm=126.0768wcg=NaNwcp=7.2725
实验三MATLAB数字控制器设计初步
(1)掌握离散信号z变换和z逆变换的matlab方法
(2)掌握离散系统的系统函数零极点分布与系统频率特性的matlab实现方法
(3)掌握matlab计算差分方程的方法。
(1)找到matlab的符号运算工具箱提供的z变换函数ztrans与反变换函数iztrans,通过help理解其用法,并掌握符号表达式的构建和应用。
F=ztrans(f)%求符号函数f的z变换,返回函数的自变量为z;
F=ztrans(f,w)%求符号函数f的z变换,返回函数的自变量为w;
F=ztrans(f,k,w)%对自变量为k的符号函数f求z变换,返回函数的自变量为w。
f=iztrans(F)%对自变量为z的符号函数F求逆z变换,返回函数的自变量为n;
f=iztrans(F,k)%对自变量为z的符号函数F求逆z变换,返回函数的自变量为k;
f=iztrans(F,w,k)%对自变量为w的符号函数F求逆z变换,返回函数的自变量为k。
4实验步骤及实验内容
(1).已知序列,求其z变换。
解:
在命令窗口中输入如下命令,即可完成f(k)的z变换
symsk
f=sym('
2^(-k)'
);
%定义序列
F=ztrans(f)%求z变换
F=
z/(z-1/2)
(2)已知一离散系统的系统函数,求其冲激响应h(k)。
运行如下M文件,
symskz
H=sym('
z/(z^2+3*z+2)'
h=iztrans(H,k)%求逆z变换
h=
(-1)^k-(-2)^k
(3)MATLAB的zplane函数用于系统函数的零极点图的绘制,调用方式为:
zplane(b,a)其中,b、a分别为系统函数分子、分母多项式的系数向量
例.已知一离散系统的系统函数,试绘制其零极点图。
在MATLAB的命令窗口中输入如下命令,即可得到其零极点图(图7-1)。
a=[132];
b=[1-0.70.1];
zplane(b,a)%绘制其零极点图
(4)若描述离散系统的差分方程为,已知激励,初始状态y(-1)=1,y(-2)=0,求系统的零输入响应,零状态响应。
【解】将差分方程两边取z变化的
,进整理,得
,前一部分为零输入响应,后一部分为零状态响应。
将y(-1)=1,y(-2)=0代入第一部分,则零输入响应的表达式为
,因此经过z的逆变化得,
同理,则零状态激励响应响应的表达式为,
如果直接利用iztrans函数进行编程求解如下
clc
symsz
y=0.5*(1/z-1)/(1+1/2*z-1/2*z^2)
y=iztrans(y)
结果:
1/2*charfcn[1](n)-3/4*charfcn[0](n)+1/12*2^n+2/3*(-1)^n
(5)已知,通过部分分式展开法求F(z)。
F=sym('
(s+2)/(s*(s+1)^2*(s+3))'
%传递函数F(s)进行符号定义
[numF,denF]=numden(F);
%提取分子分母
pnumF=sym2poly(numF);
%将分子转化为一般多项式
pdenF=sym2poly(denF);
%将分母转化为一般多项式
[R,P,K]=residue(pnumF,pdenF)%部分分式展开
对应部分分式分解结果为:
实验四控制系统数学模型的MATLAB实现
(用MATLAB展开及合并部分分式)
(1)掌握matlab展开部分分式的方法
3实验步骤及实验内容
(1)用matlab展开部分分式
用num和den分别表示G(s)的分子和分母多项式,即
MATLAB提供函数reside用于实现部分分式展开,其句法为
[r,p,k]=reside(num,den)其中,r,p分别为展开后的留数及极点构成的列向量;
k为余项多项式行向量。
若无重极点,MATLAB展开后的一般形式为: