Спецификации рабочей точки
Открытая модель Simulink.
sys = 'watertank';
open_system(sys)

Создайте объект спецификации рабочей точки по умолчанию для модели.
opspec = operspec(sys)
Operating point specification for the Model watertank. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx = 0, initial guess: 0 (2.) watertank/Water-Tank System/H spec: dx = 0, initial guess: 1 Inputs: None ---------- Outputs: None ----------
opspec содержит спецификации для двух состояний в модели. Поскольку модель не имеет никакого корневого импорта уровня или выходных портов, opspec не содержит спецификации ввода или вывода. Чтобы добавить выходные спецификации, используйте addoutputspec.
Измените спецификации рабочей точки для каждого состояния с помощью записи через точку. Например, сконфигурируйте первое состояние к:
Будьте в устойчивом состоянии.
Имейте нижнюю границу 0.
Имейте начальное значение 2 для обрезки.
opspec.States(1).SteadyState = 1; opspec.States(1).x = 2; opspec.States(1).Min = 0;
Можно создать новый operspec переменные тремя способами:
Используя operspec команда
Используя присвоение с равнянием (=оператор
Используя copy команда
Используя = оператор приводит к соединенным переменным что обе точки к тем же базовым данным. Используя copy команда приводит к независимому operspec объект. В этом примере создайте operspec объекты оба пути, и исследуют свое поведение.
mdl = 'watertank';
open_system(mdl);
opspec1 = operspec(mdl)Operating point specification for the Model watertank. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx = 0, initial guess: 0 (2.) watertank/Water-Tank System/H spec: dx = 0, initial guess: 1 Inputs: None ---------- Outputs: None ----------
Создайте новый объект спецификации рабочей точки использование присвоения с = оператор.
opspec2 = opspec1;
opspec2 operspec возразите что точки против тех же базовых данных как opspec1. Из-за этой ссылки вы не можете независимо изменить свойства двух operspec объекты. Чтобы видеть это, измените свойство opspec2. Например, измените начальное значение для первого состояния с 0 до 2. Изменение показывает в States раздел отображения.
opspec2.States(1).x = 2
Operating point specification for the Model watertank. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx = 0, initial guess: 2 (2.) watertank/Water-Tank System/H spec: dx = 0, initial guess: 1 Inputs: None ---------- Outputs: None ----------
Исследуйте отображение opspec1 видеть что соответствующее значение свойства opspec1 также изменения от 0 до 2.
opspec1
Operating point specification for the Model watertank. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx = 0, initial guess: 2 (2.) watertank/Water-Tank System/H spec: dx = 0, initial guess: 1 Inputs: None ---------- Outputs: None ----------
Чтобы создать независимую копию спецификации рабочей точки, используйте copy команда.
opspec3 = copy(opspec1);
Теперь, когда вы изменяете свойство opspec3, opspec1 не изменяется. Например, измените начальное значение для первого состояния от 2 до 4.
opspec3.States(1).x = 4
Operating point specification for the Model watertank. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx = 0, initial guess: 4 (2.) watertank/Water-Tank System/H spec: dx = 0, initial guess: 1 Inputs: None ---------- Outputs: None ----------
В opspec1, соответствующее значение остается 2.
opspec1.States(1).x
ans = 2
Это поведение копии происходит потому что operspec объект указателя. Для получения дополнительной информации об объектах указателя, смотрите Поведение объекта Указателя (MATLAB).
Открытая модель Simulink.
sys = 'watertank';
open_system(sys)

Создайте массив 2х3 объектов спецификации рабочей точки. Можно обработать модель для обрезки в пакетном режиме в нескольких рабочих точках с помощью таких массивов.
opspec = operspec(sys,[2,3]);
Каждый элемент opspec содержит объект спецификации рабочей точки по умолчанию для модели.
Измените объекты спецификации рабочей точки с помощью записи через точку. Например, сконфигурируйте второе состояние объекта спецификации в строке 1, столбец 3.
opspec(1,3).States(2).SteadyState = 1; opspec(1,3).States(1).x = 2;
Можно также создать многомерные массивы объектов спецификации рабочей точки. Например, создайте 3 4 5 массивами.
opspec = operspec(sys,[3,4,5]);
mdl — Модель SimulinkИмя модели Simulink, заданное как вектор символов или строка.
dim ArrayDimensionsИзмерения массива, заданные как одно из следующего:
Целое число — Создает вектор-столбец dim объекты спецификации рабочей точки.
Вектор-строка из целых чисел — Создает массив объектов спецификации рабочей точки с размерностями, заданными dim.
Например, чтобы создать 4 5 массив объектов спецификации рабочей точки, используйте:
opspec = operspec(mdl,[4,5]);
Чтобы создать многомерный массив объектов спецификации рабочей точки, задайте дополнительные размерности. Например, чтобы создать 2 массивом 3 на 4, используйте:
opspec = operspec(mdl,[2,3,4]);
opspec — Спецификации рабочей точкиСпецификации рабочей точки, возвращенные как спецификация рабочей точки, возражают или массив таких объектов.
Можно изменить спецификации рабочей точки с помощью записи через точку. Например, если opspec один объект спецификации рабочей точки, opspec.States(1).x получает доступ к значениям состояния первого состояния модели. Если opspec массив объектов спецификации opspec(2,3).Inputs(1).u получает доступ к уровню на входе первого блока импорта для спецификации в строке 2, столбец 3.
Каждый объект спецификации имеет следующие свойства:
| Свойство | Описание | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Model | Имя модели Simulink, возвращенное как вектор символов. | ||||||||||||||||||||||||||||||
States | Спецификации рабочей точки состояния, возвращенные как вектор объектов спецификации состояния. Каждая запись в Для списка поддерживаемых состояний для объектов рабочей точки смотрите состояния Модели Simulink, Включенные в Объект Рабочей точки. Отредактируйте свойства этого объекта с помощью записи через точку или ПримечаниеЕсли блок имеет несколько именованных непрерывных состояний, Каждый объект спецификации состояния имеет следующие поля:
| ||||||||||||||||||||||||||||||
Inputs | Спецификации уровня на входе в рабочей точке, возвращенной как вектор входных объектов спецификации. Каждая запись в Каждый входной объект спецификации имеет следующие поля:
| ||||||||||||||||||||||||||||||
Outputs | Спецификации уровня на выходе в рабочей точке, возвращенной как вектор выходных объектов спецификации. Каждая запись в Можно задать дополнительные выходные ограничения для обрезки с помощью Каждый выходной объект спецификации имеет следующие поля:
| ||||||||||||||||||||||||||||||
Time | Времена, в которые выполнены изменяющиеся во времени функции в модели, возвратились как вектор. | ||||||||||||||||||||||||||||||
CustomObjFcn | Функция, обеспечивающая дополнительную пользовательскую целевую функцию для обрезки, заданный как указатель на пользовательскую функцию, или вектор символов или строка, которая содержит имя функции. Пользовательская функция должна быть на пути MATLAB® или в текущей рабочей папке. Можно задать пользовательскую целевую функцию как алгебраическую комбинацию состояний модели, входных параметров и выходных параметров. Для получения дополнительной информации смотрите, Вычисляют Рабочие точки Используя Пользовательские Ограничения и Целевые функции. | ||||||||||||||||||||||||||||||
CustomConstrFcn | Функция, обеспечивающая дополнительные пользовательские ограничения для обрезки, заданный как указатель на пользовательскую функцию, или вектор символов или строка, которая содержит имя функции. Пользовательская функция должна быть на пути MATLAB или в текущей рабочей папке. Можно задать пользовательское равенство и ограничения неравенства как алгебраические комбинации состояний модели, входных параметров и выходных параметров. Для получения дополнительной информации смотрите, Вычисляют Рабочие точки Используя Пользовательские Ограничения и Целевые функции. | ||||||||||||||||||||||||||||||
CustomMappingFcn | Функция, которая сопоставляет состояния модели, входные параметры и выходные параметры к векторам, принятым Для сложных моделей вы можете передать подмножества входных параметров модели, выходных параметров, и утверждаете к пользовательскому ограничению и целевым функциям с помощью пользовательской функции отображения. Если вы задаете пользовательское отображение, необходимо использовать отображение и в пользовательской ограничительной функции и в пользовательской целевой функции. Для получения дополнительной информации смотрите, Вычисляют Рабочие точки Используя Пользовательские Ограничения и Целевые функции. |
Чтобы отобразить свойства объектов спецификации рабочей точки, используйте get.
Можно создать новый operspec переменные 3 способами:
Создайте новый объект с operspec команда.
Создайте новую переменную присвоением с равнянием (=) оператор.
Скопируйте operspec объект с помощью copy команда.
Используя operspec или copy создает новый, независимый объект. Когда вы используете присвоение, существует ссылка между старой и новой переменной. Для примера см. Копию Спецификация Рабочей точки.
addoutputspec | copy | findop | update
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.