Simulink. ModelWorkspace

Взаимодействуйте с рабочим пространством модели модели программно

Описание

Используйте объект Simulink.ModelWorkspace взаимодействовать с рабочим пространством модели. Например, можно добавить и удалить переменные, установить источник данных рабочей области и сохранить изменения в рабочей области.

Для получения дополнительной информации смотрите Рабочие пространства модели.

Создание

Чтобы создать Simulink.ModelWorkspace, используйте функцию get_param, чтобы запросить значение параметра модели ModelWorkspace. Например, чтобы создать объект под названием mdlWks, который представляет рабочее пространство модели модели под названием myModel.slx:

mdlWks = get_param('myModel','ModelWorkspace')

Свойства

развернуть все

Источник для инициализации переменных в рабочем пространстве модели, заданном как один из этих векторов символов:

  • 'Model File' — Переменные хранятся в образцовом файле. Когда вы сохраняете модель, вы также сохраняете переменные.

  • КОД MATLAB Переменные создаются кодом MATLAB, который вы пишете и храните в образцовом файле.

  • matfile Переменные хранятся в MAT-файле, которым можно управлять отдельно из образцового файла.

  • 'MATLAB File' — Переменные создаются кодом MATLAB в файле скрипта, которым можно управлять отдельно из образцового файла.

Типы данных: char

Имя внешнего файла, который хранит или создает переменные, заданные как вектор символов. Чтобы включить это свойство, установите DataSource на 'MAT-File' или 'MATLAB File'.

Пример: 'myFile.mat'

Пример: 'myFile.m'

Типы данных: char

Код MATLAB для инициализации переменных, заданных как вектор символов. Чтобы включить это свойство, установите DataSource на 'MATLAB Code'.

Пример: sprintf('%% Create variables that this model uses.\n\nK = 0.00983;\n\nP = Simulink.Parameter(5);')

Типы данных: char

Функции объекта

getVariableВозвращаемое значение переменной в рабочем пространстве модели модели
getVariablePartПолучите значение переменного свойства в рабочем пространстве модели
setVariablePartУстановите свойство переменной в рабочем пространстве модели
hasVariableОпределите, существует ли переменная в рабочем пространстве модели модели
whosВозвратите список переменных в рабочем пространстве модели модели
saveToSourceСохраните изменения рабочего пространства модели во внешнем источнике данных рабочего пространства модели
saveСохраните содержимое рабочего пространства модели к MAT-файлу
reloadПовторно инициализируйте переменные из источника данных рабочего пространства модели
evalinВыполните выражение в рабочем пространстве модели модели
clearОчистите переменные из рабочего пространства модели модели
assigninПрисвойте значение переменной в рабочем пространстве модели модели

Примеры

свернуть все

Создайте переменную в рабочем пространстве модели модели. Затем измените переменную и запросите значение переменных, чтобы подтвердить модификацию.

Откройте модель vdp в качестве примера.

open_system('vdp')

Создайте объект Simulink.ModelWorkspace mdlWks, который представляет рабочее пространство модели vdp.

mdlWks = get_param('vdp','ModelWorkspace');

Создайте переменную под названием myVar со значением 5.12 в рабочем пространстве модели.

assignin(mdlWks,'myVar',5.12)

Примените новое значение, 7.22. Для этого сначала создайте временную копию переменной при помощи функции getVariable. Затем измените копию и используйте ее, чтобы перезаписать исходную переменную в рабочем пространстве модели.

temp = getVariable(mdlWks,'myVar');
temp = 7.22;
assignin(mdlWks,'myVar',temp)

Подтвердите новое значение путем запроса значения переменной.

getVariable(mdlWks,'myVar')
ans =

    7.2200

Представлено до R2006a