exponenta event banner

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 использование полного пути блока сигналов или по имени сигнала, если имена сигналов в модели Simulink уникальны.

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

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

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

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

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

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

Примеры

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

В этом примере настройте проблему оценки параметров с помощью приложения Parameter Estimator и создайте на его основе код MATLAB. Дополнительные сведения о создании кода MATLAB из приложения см. в разделе Создание кода MATLAB для проблем оценки параметров (GUI). Кроме того, можно настроить проблему оценки в командной строке.

Затем разделите сгенерированный код 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 см. в разделе Развернутое применение оценки параметров.

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