www.gusucode.com > 倒立摆全状态观测器设计,在Matlab_Simulink仿真环境中实现仿真 > DanJiDaoLiBaiGuanCeQiDesign/Initial_File.m
clc clear % 状态观测器控制系统 % 检验状态反馈输出与设计的状态观测器输出的差别,以决定状态观测器设计是否合理 % 状态x=[theta theta' x x'] % 即分别为偏角、偏角的导数、位移、位移的导数 % 控制输入u为水平方向推力 % 系统仿真时,设定控制输入u=0,初始状态x=[-10/57.3 0 0.2 0] % 初始偏角10度,初始位移0.2m,察看仿真效果 % 仿真结果分别查看原状态、观测器状态、以及二者之差,以检验观测器设计效果。 A=[0 1 0 0 15.7756 0 0 0 0 0 0 1 -0.7171 0 0 0]; B=[0 -1.4634 0 0.9756]'; C=eye(4); % C=[0 0 1 0]; % 检验系统的可控性,满秩即完全可控 n=rank(ctrb(A,B)); % 检验状态的可观测性,以确定能否设计全状态观测器 m=rank(obsv(A,C)); % 全状态反馈后期望的特征值 clp=[-1 -2 -1+1*i -1-1*i]; % 求出状态反馈矩阵 K=place(A,B,clp); % 状态观测器期望的极点为 op=[-2 -3 -2-i -2+i]; % 求出全维状态观测器反馈系数 H H=place(A',C',op)' % 状态的初值 x0=[-10/57.3 0 0.2 0]';