exponenta event banner

setVariable

Установка переменных для моделирования через SimulationInput объект, in

Описание

пример

in = in.setVariable('Name', 'Value') назначает Value к переменной Name. В модель можно добавить несколько переменных, используя одну и ту же SimulationInput объект.

in = in.setVariable('Name', 'Value','Workspace', 'ModelName') назначает Value к переменной Name. Переменные, определенные с помощью SimulationInput по умолчанию объекты помещаются в глобальную область рабочей области. Термин глобальная рабочая область специфичен для Simulink.SimulationInput объект и его методы. Переменные в области глобальной рабочей области имеют приоритет, если переменная с тем же именем существует в основной рабочей области или словаре данных. Переменные в рабочей области модели имеют приоритет над глобальной областью рабочей области. Чтобы изменить значение переменной рабочей области модели, задайте область, указав имя модели при добавлении переменной в SimulationInput объект.

При использовании setVariable одновременно можно указать только одну переменную.

Вы можете использовать getVariable('VariableName') для получения значения переменной и removeVariable('VariableName') метод удаления переменной из Simulink.SimulationInput объект

Сведения об использовании нескалярных переменных, структурных переменных и объектов параметров см. в разделах Несскаляры сдвига, Структуры и Объекты параметров.

Примеры

свернуть все

В этом примере изменяются параметры модели через SimulationInput объект.

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

mdl = 'sldemo_househeat';
open_system(mdl);

Создать SimulationInput объект для этой модели

in = Simulink.SimulationInput(mdl);

Установите значение переменной равным 50.

in = in.setVariable('cost',50);

По умолчанию эта переменная помещается в глобальную область рабочей области.

Моделирование модели.

out = sim(in)

В этом примере изменяются параметры модели sldemo_househeat через SimulationInput объект.

Задайте путь и откройте модель.

mdl = 'sldemo_househeat';
open_system(mdl);

Создать SimulationInput объект для этой модели

in = Simulink.SimulationInput(mdl);

Задайте для переменной значение 50 и задайте область для рабочей области модели.

in = in.setVariable('cost',50,'Workspace','sldemo_househeat');

Моделирование модели.

out = sim(in)

Входные аргументы

свернуть все

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - литеральное значение переменной. Name должно отображаться внутри отдельных кавычек (' ').

Пример: 'StartTime','1'

Задание области действия определенной переменной путем указания имени модели

Пример: 'Workspace', 'sldemo_househeat'

Представлен в R2017a