Пакетные вычисления статических рабочих точек для нескольких спецификаций

В этом примере показано, как найти рабочие точки для нескольких спецификаций рабочих точек с помощью findop команда. Можно пакетно линеаризировать модель с помощью рабочих точек и изучить изменение поведения модели.

Каждый раз, когда вы звоните findopпрограммное обеспечение компилирует модель Simulink. Чтобы найти рабочие точки для нескольких спецификаций, можно дать findop массив спецификаций рабочих точек вместо повторного вызова findop в цикле for. Программное обеспечение использует компиляцию одной модели, чтобы вычислить несколько рабочих точек, что эффективно, особенно для моделей, которые дорого повторно компилироваться.

Откройте модель Simulink.

sys = 'scdspeed';
open_system(sys)

Создайте массив объектов спецификаций рабочих точек по умолчанию.

opspec = operspec(sys,3);

Чтобы найти установившиеся рабочие точки, в которых выход блока рад/с в об/мин фиксирован, добавьте известную выходную спецификацию к каждому объекту спецификации рабочей точки.

opspec = addoutputspec(opspec,[sys '/rad//s to rpm'],1);
for i = 1:3
    opspec(i).Outputs(1).Known = true;
end

Задайте различные известные выходные значения для каждой спецификации рабочей точки.

opspec(1).Outputs(1).y = 1500;
opspec(2).Outputs(1).y = 2000;
opspec(3).Outputs(1).y = 2500;

Также можно сконфигурировать спецификации рабочих точек с помощью Model Linearizer и экспортировать спецификации в рабочее пространство MATLAB. Для получения дополнительной информации смотрите Спецификации импорта и экспорта для Поиска Рабочей точки.

Найдите рабочие точки, которые соответствуют каждой из трех выходных спецификаций. findop вычисляет все рабочие точки с помощью одной модели компиляции.

ops = findop(sys,opspec);
 Operating point search report 1:
---------------------------------

 Operating point search report for the Model scdspeed.
 (Time-Varying Components Evaluated at time t=0)

Operating point specifications were successfully met.
States: 
----------
(1.) scdspeed/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
      x:         0.596      dx:      3.41e-09 (0)
(2.) scdspeed/Vehicle Dynamics/w = T//J w0 = 209 rad//s
      x:           157      dx:     -5.57e-07 (0)

Inputs: 
----------
(1.) scdspeed/Throttle  perturbation
      u:         -1.61    [-Inf Inf]

Outputs: 
----------
(1.) scdspeed/rad//s to rpm
      y:       1.5e+03    (1.5e+03)


 Operating point search report 2:
---------------------------------

 Operating point search report for the Model scdspeed.
 (Time-Varying Components Evaluated at time t=0)

Operating point specifications were successfully met.
States: 
----------
(1.) scdspeed/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
      x:         0.544      dx:      2.66e-13 (0)
(2.) scdspeed/Vehicle Dynamics/w = T//J w0 = 209 rad//s
      x:           209      dx:     -8.48e-12 (0)

Inputs: 
----------
(1.) scdspeed/Throttle  perturbation
      u:       0.00382    [-Inf Inf]

Outputs: 
----------
(1.) scdspeed/rad//s to rpm
      y:         2e+03    (2e+03)


 Operating point search report 3:
---------------------------------

 Operating point search report for the Model scdspeed.
 (Time-Varying Components Evaluated at time t=0)

Operating point specifications were successfully met.
States: 
----------
(1.) scdspeed/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
      x:         0.511      dx:      1.33e-08 (0)
(2.) scdspeed/Vehicle Dynamics/w = T//J w0 = 209 rad//s
      x:           262      dx:     -7.83e-08 (0)

Inputs: 
----------
(1.) scdspeed/Throttle  perturbation
      u:           1.5    [-Inf Inf]

Outputs: 
----------
(1.) scdspeed/rad//s to rpm
      y:       2.5e+03    (2.5e+03)

ops является вектором рабочих точек для scdspeed модель, которая соответствует спецификациям в opspec. Выходное значение для каждой рабочей точки совпадает с известным значением, заданным в соответствующей спецификации рабочей точки.

См. также

|

Похожие темы