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

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

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

Смотрите также

|

Похожие темы