Изменение данных рабочего пространства модели

Когда вы используете рабочее пространство модели, чтобы содержать переменные, которые использует модель, вы выбираете источник для хранения переменных, таких как файл модели или внешний MAT-файл. Чтобы изменить переменные в источнике, вы используете другую процедуру в зависимости от типа выбранного источника.

Изменение данных рабочей области, источником которых является файл модели

Если источником данных рабочего пространства модели является файл модели, можно использовать Model Explorer или MATLAB® команды для изменения сохраненных переменных (см. «Использование команд MATLAB для изменения данных рабочей области»).

Например, чтобы создать переменную в рабочем пространстве модели:

  1. Откройте Model Explorer. На вкладке Modeling щелкните Model Data Editor или нажмите Ctrl+H.

  2. На панели Model Hierarchy Model Explorer разверните узел для модели и выберите рабочее пространство модели.

  3. Выберите Add > MATLAB Variable.

    Можно также использовать меню Add или панель инструментов, чтобы добавить Simulink.Parameter объект в рабочем пространстве модели.

Чтобы изменить значение переменного рабочего пространства модели:

  1. Откройте Model Explorer. На вкладке Modeling нажмите Model Explorer.

  2. На панели Model Hierarchy Model Explorer выберите рабочее пространство модели.

  3. На панели Contents выберите переменную.

  4. На панели Contents или на Dialog панели измените отображаемое значение.

Чтобы удалить переменное рабочее пространство модели:

  1. Откройте Model Explorer. На вкладке Modeling нажмите Model Explorer.

  2. На панели Model Hierarchy Model Explorer выберите рабочее пространство модели.

  3. На Contents панели выберите переменную.

  4. Выберите Edit > Delete.

Изменение данных рабочей области, чей источник является MAT-файлом или файлом MATLAB

Можно использовать команды Model Explorer или MATLAB для изменения данных рабочей области, источником которых является файл MAT или MATLAB.

Чтобы сделать изменения постоянными, в диалоговом окне Рабочее Пространство Модели, используйте кнопку Save To Source, чтобы сохранить изменения в MAT-файле или файле MATLAB.

  1. Откройте Model Explorer. На вкладке Modeling нажмите Model Explorer.

  2. На панели Model Hierarchy Model Explorer щелкните правой кнопкой мыши рабочую область.

  3. Выберите Properties меню элемента.

  4. В диалоговом окне Рабочее Пространство Модели используйте кнопку Save To Source, чтобы сохранить изменения в MAT-файле или файле MATLAB.

Чтобы отменить изменения в рабочей области, в диалоговом окне Рабочее Пространство Модели, используйте кнопку Reinitialize From Source.

Изменение данных рабочей области, чей источник является кодом MATLAB

Самый безопасный способ изменить данные, источником которых является код MATLAB, - это отредактировать и перезагрузить источник. Отредактируйте код MATLAB, а затем в диалоговом окне Рабочее Пространство Модели используйте Reinitialize From Source кнопку, чтобы очистить рабочую область и повторно выполнить код.

Чтобы сохранить и перезагрузить альтернативные версии рабочей области, которые являются результатом редактирования источника кода MATLAB или самих переменных рабочей области, см. Раздел «Экспорт переменных рабочей области и Импорт переменных рабочей области».

Используйте команды MATLAB для изменения данных рабочей области

Чтобы использовать команды MATLAB для изменения данных в рабочем пространстве модели, сначала получите рабочую область для текущей выбранной модели:

hws = get_param(bdroot, 'modelworkspace');

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

Используйте методы рабочей области для:

  • Перечислите, установите и очистите переменные

  • Выполняйте выражения в рабочей области

  • Сохраните и перезагрузите рабочую область

Например, следующий код MATLAB создает переменные, задающие параметры модели в рабочем пространстве модели, сохраняет параметры, изменяет один из них, а затем перезагружает рабочую область, чтобы восстановить ее в предыдущем состоянии.

hws = get_param(bdroot, 'modelworkspace');
hws.DataSource = 'MAT-File';
hws.FileName = 'params';
hws.assignin('pitch', -10);
hws.assignin('roll', 30);
hws.assignin('yaw', -2);
hws.saveToSource;
hws.assignin('roll', 35);
hws.reload;

Чтобы программно получить доступ к переменным в целях протягивания значений параметров блоков, рассмотрите использование Simulink.SimulationInput объекты вместо изменения переменных через программный интерфейс рабочего пространства модели. См. «Оптимизация, оценка и развертка Параметров блоков значений».

Создайте маску модели

Замаскируйте модель, которая позволяет вам управлять тем, как пользователи модели взаимодействуют с аргументами модели. Для получения дополнительной информации смотрите Введение в системную маску.

Похожие темы