updateIOData

Обновите входные и выходные данные эксперимента

Описание

пример

Experiment_out = updateIOData(Experiment,sigName,data) обновляет sigName сигнала из объекта Experiment эксперимента с данными, заданными в data.

updateIOData позволяет вам снова использовать определение эксперимента, но с различными данными. Функция особенно полезна для развертываемых приложений, где вы не хотите переопределять эксперимент каждый раз, когда вы выполняете развертываемое приложение.

Experiment_out = updateIOData(Experiment,sigName1,data1,sigName2,data2,...) обновления несколько сигналов эксперимента возражают для развертывания с Simulink® Compiler™.

Входные параметры

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

Определение эксперимента для модели Simulink в виде sdo.Experiment объект.

Сигнал, который будет обновлен в виде строки. Можно задать sigName использование полного блока path сигнала или именем сигнала, если имена сигнала в модели Simulink уникальны.

Можно задать несколько sigName и data пары, чтобы обновить несколько вводов или выводов в одном вызове updateIOData.

Данные для обновления сигнала в виде временных рядов или вектора.

Можно задать несколько sigName и data пары, чтобы обновить несколько вводов или выводов в одном вызове updateIOData.

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

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

Экспериментируйте с обновленными входными и выходными данными, возвращенными как sdo.Experiment объект.

Примеры

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

В данном примере настройте свою проблему оценки параметра с помощью приложения Parameter Estimator и сгенерируйте код MATLAB от него. Для получения дополнительной информации о генерации кода MATLAB из приложения смотрите, Генерируют код MATLAB для проблем Оценки Параметра (графический интерфейс пользователя). В качестве альтернативы можно также настроить проблему оценки в командной строке.

Затем разделите сгенерированный код MATLAB непосредственно перед тем, как целевая функция оценки задана. Это приводит к двум файлам - run функционируйте и setup функция, как описано в Развертываемом приложении Оценки Параметра.

В setup функционируйте, добавьте следующие строки кода в конце, чтобы сконфигурировать тестовые объекты эксперимента и симуляции для развертывания и сохранить их в MAT-файл.

Experiment_out = prepareToDeploy(Experiement);
Simulator = createSimulator(Experiment_out);
Simulator = prepareToDeploy(Simulator,p);
save ObjectsToDeploy Experiment_out Simulator p

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

%#function simulink_model_name.slx
load ObjectsToDeploy Experiment_out Simulator p

Затем добавьте следующие линии, чтобы загрузить данные об эксперименте и обновить объект эксперимента. В данном примере примите, что данные об эксперименте содержатся в первых трех столбцах файла электронной таблицы Microsoft Excel под названием fname.xls.

d = xlsread(fname);
u = timeseries(d(:,3),d(:,1));
y = timeseries(d(:,2),d(:,1));
Experiment_out = updateIOData(Experiment_out,'simulink_model_name/param1',u);
Experiment_out = updateIOData(Experiment_out,'simulink_model_name/param2',y);

Для подробного примера, показывающего, как развернуть вашу проблему оценки параметра с помощью Simulink Compiler, см. Развертываемое приложение Оценки Параметра.

Введенный в R2020a