exponenta event banner

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

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

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

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

sys = 'scdspeed';
open_system(sys)

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

opspec = operspec(sys,3);

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

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;

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

См. также

|

Связанные темы