经典控制理论和现代控制理论中用到的matlab函数简介(飞控设计)

时域分析:

num:代表传递函数分母 den:代表传递函数分子  sys代表传递函数

sys=tf(num,den) tf:传递函数(transform function的缩写)

sys=zpk(z,p,k)其中z=[z1 z2 z3 z4....] p=[p1 p2 p3 ......] z(zero) p(pole) zpk:传递函数的零极点形式,例如zpk(sys1)就可以将多项式的形式转化为零极点形式

sys=series(sys1,sys2) 串联

sys=parallel(sys1,sys2)并联

sys=feedback(sys前向通道,sys反馈通道,sign正负反馈符号)注:负反馈可省略

impulse(sys)impulse(num,den,t)[y,x,t]=impulse(num,den)   单位脉冲响应函数

step(sys)step(num,den)单位阶跃响应函数

lsim(sys,u任意输入,t)任意输入响应函数

r=roots(p)求多项式的根

z=zero(sys)求传递函数零点  [z k]=zero(sys)求零点和增益

p=pole(sys)求传递函数极点

[p z]=pzmap(sys)   绘制零极点分布图

[num den]=[conv(1 5),conv(1 8)]

频域分析:

根轨迹:

rlocus(sys),与simulink模型和linmod函数配合使用进行反馈增益设计

Bode图

bode(sys)bode(sys,w频率点或范围)bode(num,den) bode(num,den,w)

[mag,phase]=bode(sys)[ma,phase,w]=bode(sys) magdb=20log(mag)对数幅值

Nyquist图

[re,im]=nyquist(sys,W)

Nichols图

[mag,phase]=nichols(sys,W)

拉氏变换:

[r p]=residue(num ,den)  将分式多项式展开r系数向量 p极点,再通过查表可进行反变换

F=laplace(f)拉氏变换 f=ilaplace(F)拉氏反变换

syms 

现代控制理论:

[Num Den]=ss2tf(A,B,C,D)  状态空间转为传递函数 (ss是state space简写,2即to)

[Z P K]=ss2zp(A,B,C,D)    状态空间转为零极点形式

sys=ss(A,B,C,D)

作动器与飞机串联[A B C D]=series(SSAct,SSPlant)

连续系统与离散系统相互转化函数:c2dd2c(c即continuous,d即discrete)

仿真:t=0:0.01:100

[y x t]=initial(A,B,C,D,x0,t)  初值x0输入响应

同理:lsim任意输入响应 impulse脉冲响应 step单位阶跃响应

f=rank(ctrb(A,B));可控性判断

f=rank(obsv(A,C));可观性判断

反馈极点配置

SISO: K=acker(A,B,R期望位置)

MIMO:K=place(A,B,R)

线性二次型控制器设计

[K P E]=lqr(A,B,Q,R,N)   

lqry

注:无论lqr还是lqry都是状态反馈,不是输出反馈,lqry只是目标函数中有输出量

lyap:解李雅普诺夫方程函数

kalman:卡尔曼滤波器设计函数

 

 

 

 

你可能感兴趣的:(MATLAB,自动控制原理,控制,matlab,控制,设计仿真)