Best practice to preallocate for exporting simulation data

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개)

카테고리

도움말 센터File Exchange에서 Modeling에 대해 자세히 알아보기

질문:

2018년 5월 30일

답변:

Jan
2018년 5월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by