В этом примере показано, как выполнить обрезку и линеаризацию корпуса самолета. Сначала нам нужно найти отклонение лифта и результирующую скорость (q) обрезанного тела, которые будут генерировать заданное значение падения, когда корпус самолета движется с заданной скоростью. Как только мы найдем условие обрезки, мы сможем вывести линейную модель для динамики состояний вокруг условия обрезки.
Fixed parameters :
Incidence (Theta)
Body attitude (U)
Position
Trimmed steady state parameters :
Elevator deflection (w)
Body rate (q)Откройте модель.
scdairframe

Для получения объекта спецификации операционной точки используется команда operspec:
opspec = operspec('scdairframe')
Operating point specification for the Model scdairframe. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) scdairframe/EOM/ Equations of Motion (Body Axes)/Position spec: dx = 0, initial guess: 0 spec: dx = 0, initial guess: -3.05e+03 (2.) scdairframe/EOM/ Equations of Motion (Body Axes)/Theta spec: dx = 0, initial guess: 0 (3.) scdairframe/EOM/ Equations of Motion (Body Axes)/U,w spec: dx = 0, initial guess: 984 spec: dx = 0, initial guess: 0 (4.) scdairframe/EOM/ Equations of Motion (Body Axes)/q spec: dx = 0, initial guess: 0 Inputs: ---------- (1.) scdairframe/Fin Deflection initial guess: 0 Outputs: ---------- (1.) scdairframe/q spec: none (2.) scdairframe/az spec: none
Во-первых, мы задаем спецификации состояния положения, которые известны, но не в установившемся состоянии:
opspec.States(1).Known = [1;1]; opspec.States(1).SteadyState = [0;0];
Второй спецификацией состояния является тета, которая известна, но не находится в установившемся состоянии:
opspec.States(2).Known = 1; opspec.States(2).SteadyState = 0;
Спецификация третьего состояния включает угловые скорости оси тела, где переменная w находится в установившемся состоянии:
opspec.States(3).Known = [1 1]; opspec.States(3).SteadyState = [0 1];
Далее выполняется поиск рабочей точки, соответствующей данной спецификации.
op = findop('scdairframe',opspec);
Operating point search report:
---------------------------------
Operating point search report for the Model scdairframe.
(Time-Varying Components Evaluated at time t=0)
Operating point specifications were successfully met.
States:
----------
(1.) scdairframe/EOM/ Equations of Motion (Body Axes)/Position
x: 0 dx: 984
x: -3.05e+03 dx: 0
(2.) scdairframe/EOM/ Equations of Motion (Body Axes)/Theta
x: 0 dx: -0.00972
(3.) scdairframe/EOM/ Equations of Motion (Body Axes)/U,w
x: 984 dx: 22.7
x: 0 dx: -1.44e-11 (0)
(4.) scdairframe/EOM/ Equations of Motion (Body Axes)/q
x: -0.00972 dx: 1.72e-16 (0)
Inputs:
----------
(1.) scdairframe/Fin Deflection
u: 0.00142 [-Inf Inf]
Outputs:
----------
(1.) scdairframe/q
y: -0.00972 [-Inf Inf]
(2.) scdairframe/az
y: -0.242 [-Inf Inf]
Рабочие точки теперь готовы к линеаризации. Сначала задаем входную и выходную точки с помощью следующих команд:
io(1) = linio('scdairframe/Fin Deflection',1,'input'); io(2) = linio('scdairframe/EOM',3,'output'); io(3) = linio('scdairframe/Selector',1,'output');
Линеаризуйте модель и постройте график отклика величины Боде для каждого условия.
sys = linearize('scdairframe',op,io); bodemag(sys) bdclose('scdairframe')
