https://blog.csdn.net/JISANSAN/article/details/105370933中介绍了通过期望多项式计算状态反馈K的函数T2place,其实matlab自带状态反馈设计的函数place,不同的是直接用期望的极点进行计算,在不同的情形下可能需求不同,可以用不同的函数进行状态反馈设计来配置零极点。place函数的用法如下:
p1=-10+10i;p2=-10-10i;p3=-50;
K=place(A,B,[p1,p2,p3]);
通常我们计算完状态反馈K还需要进行后续分析,可以通过ss函数得到状态方程:
sys=ss(A-K*B,B,C,D);
[y,t,x]=lsim(sys,u,t,x0);%lsim任意输入u的响应,x0状态初始值,y输出
注:值得注意的是若是期望极点相等,那我我们用acker函数就可以了。在前向通道尺度因子能够更好地跟踪输入指令。
N=-[C(A-BK)_-1B]_-1
N=rscale(sys,K)