Best practice to preallocate for exporting simulation data

조회 수: 5 (최근 30일)
Joan Vazquez
Joan Vazquez 2018년 5월 30일
답변: Jan 2018년 5월 30일
I want to run several Simulink simulations of the same model, with different parameters, and store all the logged data in all the simulations for further analysis in the workspace. I have read the different approaches to export simulation data. In a for sim() end approach, what should we preallocate? logsout and tout are structures, so how do I preallocate a structure of structures? Is there a better approach to achieve the same?
preallocation_logs = ???????;
preallocation_times = ???????;
for i=1:number_of_simulations
% (update some simulation parameter here)
sim('simulink_model');
preallocation_logs(i) = logsout;
preallocation_times(i) = tout;
end

채택된 답변

Jan
Jan 2018년 5월 30일
preallocation_logs = cell(1, number_of_simulations);
preallocation_times = cell(1, number_of_simulations);
for k = 1:number_of_simulations
% (update some simulation parameter here)
sim('simulink_model');
preallocation_logs{:} = logsout;
preallocation_times{:} = tout;
end
With a cell array you do not have any limitations of the output. You can concatenate the result afterwards easily by a cat command.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Modeling에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by