В этом примере показано, как обрезать и линеаризовать корпус. Мы сначала должны найти отклонение лифта и получившийся обрезанный уровень тела (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')