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