Matlab-自动控制系统设计与分析1数学模型
程序员文章站
2022-03-26 18:13:16
...
Matlab-自动控制系统设计与分析1数学模型
本文内容:数学模型的建立
操作环境:matlab2019b(大部分语法和老版本一样,版本不影响使用
1.数学模型的建立
(1)传递函数已知
主要函数:tf
如:
键入:
num=[33.3]; %分子
den=[1 2.2 11.1]; %分母
G=tf(num,den);
在m文件里运行或者命令行窗口直接输入后,在命令行窗口输入G+回车,可以看见建立了传递函数G
(若想具体了解函数的功能,只需在命令行输入help+函数名即可,如help tf)
(2)结构图已知求传递函数
主要函数:parallel;series;feedback
如求以下系统的传递函数
num1=[1];den1=[1 1]; %表示G1
num2=[1];den2=[1 2]; %表示G2
num3=[1 2];den3=[1 4 5]; %表示G3
num4=[1];den4=[1 3]; %表示G4
[nump,denp]=parallel(num2,den2,num3,den3); %并联合并G2、G3得到Gp
[nums,dens]=series(num1,den1,nump,denp); %串联合并G1、Gp
[num,den]=feedback(nums,dens,num4,den4,-1); %负反馈连接,-1表示负反馈
G=tf(num,den);
(3)各类模型的变换
主要函数:zpk,tf2zp,pzmap,ss,tf2ss,c2d, minreal
零极点形式
在上文的基础上输入
Gzpk=zpk(G) %零极点模型
[z,p,k]=tf2zp(num,den) %求零极点与增益
绘制零极点图
pzmap(G)
grid on
状态空间模型
Gss=ss(G); %得到状态空间模型
还有几个简单的操作,大家可以自己试一试,小编这里就先不放图了~
[A,B,C,D]=tf2ss(num,den);%得到各矩阵
[a,b,c,T]=obsvf(A1,B1,C1) %可观性分解 T为变换阵
[a,b,c,T]=ctrbf(A1,B1,C1) %可控性分解 T为变换阵
离散系统
Gz=c2d(G,0.1) %采样时间为0.1s
零极点相消与最小实现
num=[1 7 10];
den=[1 5 6];
G=tf(num,den);
minreal(G);
本文为小编自行编辑与整理,如有错误还请大家批评指出~
上一篇: Kafka 安装部署-单节点
下一篇: vmsysjack-vxlan