"...as long as there is a way to load multiple of these in one go, without them all overwriting each other as fvalagg"
This is trivial using indexing into an array... and this is the recommended approach.
Simply load into an output argument (which is a scalar structure), obtain the data from whichever fields you want, and then use indexing to allocate that data to a cell array (or a structure, a table, a numeric array, etc.). For example:
D = 'c://Outputs';
V = 5:20;
N = numel(V);
C = cell(1,N);
for k = 1:N
F = sprintf('Scenario%d_fvalagg.mat',V(k));
C{k} = load(fullfile(D,F));
end
S = [C{:}]
All of the files' data will be in the non-scalar structure S:
".I would like... have them loaded up in separate files e.g. fvalagg1, fvalagg2 etc"
Putting numbers into variable names is a sign that you are doing something wrong. Do NOT do this unless you want to force yoiurself into writing slow, complex, buggy code that is hard to debug:
Best Answer