MATLAB教程及实训第2版曹弋8
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
>> k=2;
>> G=zpk(z,p,k)
%创建zpk 模型
3. 状态方程模型
? x?? Ax ? Bu
? ?
y
?
Cx
?
Du
? x(k ? 1) ? Ax(k) ? Bu(k)
? ?
y(k
?
1)
?
Cx(k) ?
Du(k)
G=ss(a,b,c,d,Ts) %由a、b、c、d参数创 建模型
G=ss(a,b,c,d,Ts,'Property1',v1,'Porperty2
(2)get 函数
value=get(sys,'property') 统的属性
%获取当前系
8.1.3系统模型的连接和简化
1. 串联环节 G=series(G1,G2,outputs1,inputs1) 也可以直接使用G=G1*G2 u(t)
G1(s)
y(t) G2(s)
2. 并联环节
G=parallel(G1,G2,in1,in2,out1,out2)
0.5z z2 ? 1.5z ? 0.5
2. 零极点增益模型
G(s)
?
K
(s ? z1 )(s ? (s ? p1 )(s ?
z2 )? (s ? p2 )? (s ?
zm ) pn )
G(z) ?
K
(z ? z1 )(z ? (z ? p1 )(z ?
z2 )? (z ? zm ) p2 )? (z ? pn )
4. 复杂模型的连接
(1)对框图中的每个环节进行编号并建立它们的对象模型, 环节是指一条单独的通路;
(2)建立无连接的状态空间模型,使用append 函数实现, append 的命令格式如下:
G=append(G1,G2,G3,…)
(3)写出系统的联接矩阵Q
Q是联接矩阵,第一列是各环节的编号,其后各列是与该环 节连接的输入通路编号,如果是负连接则加负号;
(2)获取模型尺寸的函数
n=ndims(sys)
%获取模型的维数
d=size(sys,n)
%获取模型的参数
d=size(sys,'order') %获取模型的阶数
3. 使用get和set函数
(1)set 函数
set(sys,'property1',value1,'property2',val ue2,…) %设置系统属性
(4)列出系统总的输入和输出端的编号,使用 inputs 列出 输入端编号,outputs 列出输出端的编号;
G(s) ?
5
e ? 2s
s2 ? 2s ? 2
>> sys1t=tf(num1,den1,'inputdelay',2) % 创建带延迟环节的传递函数
>> num2=[0.5 0];
>> den2=[1 -1.5 0.5]; >> sys2=tf(num2,den2,-1)
%创建脉冲传递函数
G(z) ?
sys=tf(num,den,Ts) % 由分子分母得出传递函数
sys=tf(num,den,Ts,‘Property1',v1,‘Porperty2',v2,
…)
%创建传递函数并设置属性
例8-1 创建连续二阶系统,已知传递函数模
型为
5
G(s) ?
s2 ? 2s ? 2
>> num1=5; >> den1=[1 2 2]; >> sys1=tf(num1,den1) % 创建传递函数
也可以直接使用:
G1(s)
G=G1+G2
u(t)
y(t)
G2(s)
3. 反馈环节
G=feedback(G1,G2,feedin,feedout,sign) %
计算反馈模型
u(t)
y(t) G1(s)
±
G2(s)
说明:G1和G2模型必须都是连续系统或采样 周期相同的离散系统;sign 表示反馈符号, 当sign 省略或=-1时为负反馈;feedin 和 feedout 分别是G2的输入端口和G1的输出 端口,可省略,当省略时G1与G2端口正好 对应连接。
8.1 控制系统的数学模型 8.1.1 创建系统的模型并相互转换
1. 传递函数模型
G(s) ?
b1s m ? b2 s m?1 ? ? ? bm s ? bm?1 s n ? a1s n?1 ? ? ? an?1s ? an
G(z) ?
b1z m ? b2z m?1 ? ? ? bm z ? bm?1 z n ? a1z n?1 ? ? ? an?1z ? an
>> [num,den]=zp2tf(z,p,k);
百度文库
>> G11=tf(num,den) % 转换为传递函数模型
8.1.2 系统的模型参数
2. 获取模型的参数
(1)获取模型参数的函数
tfdata 、zpkdata 和ssdata 、dssdata 函数分别用来
获取传递函数模型、零极点增益模型和状态方程 模型的参数,这些函数名都是在创建模型的函数 名后面加“ data”。
G=zpk(z,p,k,Ts) % 由零点、极点和增益创建模型
G=zpk(z,p,k,'Property1',v1,'Porperty2',v2,…) %创建模型并设置属性
例:创建 G(s) ?
2(s ? 0.5)
(s ? 0.1 ? j)(s ? 0.1 ? j)
>> z=-0.5;
>> p=[-0.1+j -0.1-j];
第8章 线性控制系统的分析
8.1 控制系统的数学模型 8.2 时域分析的MATLAB 实现 8.3 频域分析的MATLAB 实现 8.4 根轨迹分析的MATLAB 实现 8.5 稳定性分析的MATLAB 实现 8.6 稳态误差分析的MATLAB 实现 8.7状态分析的MATLAB 实现 8.8线性定常系统分析与设计的图形工具 8.9综合实例介绍
',v2,…)
%创建模型并设置属性
4. 模型的转换
ss2tf
传递函数模型 (tf)
tf2ss
zp2tf
tf2zp
状态空间模型 (ss)
zp2ss ss2zp
零极点增益模型 (zpk)
5. 连续系统与离散系统模型的转换
MATLAB 控制工具箱提供了 c2d 、d2c 和d2d 函数 实现连续系统和离散系统的相互转换。
例8-3 创建连续系统的零极点增益模型,并转换为传 递函数和状态空间模型,零极点增益模型为
G(s) ?
2(s ? 0.5)
(s ? 0.1 ? j)(s ? 0.1 ? j)
>> z=-0.5;
>> p=[-0.1+j -0.1-j];
>> k=2;
>> G=zpk(z,p,k) %创建zpk 模型