This guide explains how to use the provided example script run_model.m
, which contains all parts of the simulation workflow. The script includes input generation, calling the executable, and post-processing the output. This documentation serves as a guide to understanding the run_model.m
workflow and interpreting its outputs.
You will have the run_model.m
script available, which consists of the following steps:
This guide outlines each step to help you understand the workflow and results.
model.exe
executable in the working foldermodel.exe
executable is located in the same folder as your run_model.m
script.Y_out.csv
file, as it is generated by the executable.This part of the run_model.m
script generates input data, saves it to a file, and calls the executable.
% Define the input vector X_input with the desired values
X_input = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 42];
% Optionally, create a batch of N input vectors (N copies of X_input)
N = 3;
X_input_batch = repmat(X_input, N, 1); % Matrix of size (N x 9)
input.txt
writematrix(X_input_batch, 'input.txt', 'Delimiter', ',');
disp('Input data written to input.txt');
disp('Running simulation executable...');
system('model.exe input.txt');
input.txt
.After running the simulation, the run_model.m
script processes the generated Y_out.csv
file.
Y_output = readmatrix('Y_out.csv');
disp('Simulation output data loaded.');
Y_out.csv
file contains the simulation output, which is read into the matrix Y_output
.% Extract unique sample indices (Column 7 contains sample indices)
sample_indices = unique(Y_output(:, 7));
num_samples = numel(sample_indices);
% Remove the sample index column from the output matrix
Y_output(:, 7) = [];
% Reshape the output data into the desired 3D format (num_time_steps x num_features x num_samples)
Y_out_reshaped = reshape(Y_output', 6, 60, num_samples);
Y_out_reshaped = permute(Y_out_reshaped, [2, 1, 3]);
disp('Output values for the first timestep for all 6 features of sample 3:');
disp(Y_out_reshaped(1, :, 3));
model.exe
is in the correct folder or update the path in the system
call.Y_out.csv
: This file is only generated after running the executable. Run the executable first.run_model.m
script contains the entire workflow of input generation, executing the simulation, and processing the output.