Спецификации к рабочей точке
Откройте модель 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 является указатель объекта. Для получения дополнительной информации об указателе объектов смотрите Указатель Объекта Behavior.
Откройте модель 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 - Измерения массиваИзмерения массива, заданные как один из следующих:
Целое число - создайте вектор-столбец 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 обращается к входному уровню первого блока inport для спецификации в строке 2, столбец 3.
Каждый объект спецификации имеет следующие свойства:
| Свойство | Описание | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Model | Имя модели Simulink, возвращенное как вектор символов. | ||||||||||||||||||||||||||||||
States | Спецификации рабочей точки состояния, возвращенные как вектор объектов спецификации состояния. Каждая запись в Список поддерживаемых состояний для объектов рабочих точек см. в разделе Состояния модели Simulink, включенные в Объект рабочей точки. Отредактируйте свойства этого объекта с помощью записи через точку или Примечание Если блок имеет несколько именованных непрерывных состояний, Каждый объект спецификации состояний имеет следующие поля:
| ||||||||||||||||||||||||||||||
Inputs | Входы уровня в рабочей точке, возвращенные как вектор входных объектов спецификации. Каждая запись в Каждый объект спецификации входа имеет следующие поля:
| ||||||||||||||||||||||||||||||
Outputs | Выход спецификации уровня в рабочей точке, возвращенный как вектор выхода объектов спецификации. Каждая запись в Можно задать дополнительные выходные ограничения обрезки, используя Каждый объект спецификации выхода имеет следующие поля:
| ||||||||||||||||||||||||||||||
Time | Время, в которое оцениваются изменяющиеся во времени функции в модели, возвращается как вектор. | ||||||||||||||||||||||||||||||
CustomObjFcn | Функция, обеспечивающая дополнительную пользовательскую целевую функцию для обрезки, заданную в виде указателя на пользовательскую функцию или вектор символов или строку, содержащую имя функции. Пользовательская функция должна быть в MATLAB® путь или в текущей рабочей папке. Можно задать пользовательскую целевую функцию как алгебраическую комбинацию состояний модели, входов и выходов. Для получения дополнительной информации см. «Вычисление рабочих точек с использованием пользовательских ограничений и целевых функций». | ||||||||||||||||||||||||||||||
CustomConstrFcn | Функция, обеспечивающая дополнительные пользовательские ограничения для обрезки, заданные как указатель на пользовательскую функцию или вектор символов или строка, содержащая имя функции. Пользовательская функция должна быть в пути MATLAB или в текущей рабочей папке. Можно задать пользовательские ограничения равенства и неравенства как алгебраические комбинации состояний модели, входов и выходов. Для получения дополнительной информации см. «Вычисление рабочих точек с использованием пользовательских ограничений и целевых функций». | ||||||||||||||||||||||||||||||
CustomMappingFcn | Функция, которая отображает состояния модели, входы и выходы в векторы, принятые Для сложных моделей можно передать подмножества входов, выходов и состояний модели в пользовательские ограничительные и целевые функции с помощью пользовательской функции отображения. Если вы задаете пользовательское отображение, необходимо использовать отображение как для пользовательской функции ограничения, так и для пользовательской целевой функции. Для получения дополнительной информации см. «Вычисление рабочих точек с использованием пользовательских ограничений и целевых функций». |
Чтобы отобразить свойства объекта спецификации рабочей точки, используйте get.
Можно создать новые operspec переменные 3 способов:
Создайте новый объект с operspec команда.
Создайте новую переменную путем назначения с оператором equals (=).
Копирование operspec использование объекта copy команда.
Используя operspec или copy создает новый, независимый объект. Когда вы используете назначение, существует ссылка между старой и новой переменной. Для получения примера смотрите Копировать спецификацию рабочей точки.
addoutputspec | copy | findop | update
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.