MATLAB: How to load MAt file into 3D matrix

3dloadm-filematrix

I want to load 516 Mat files(240×320)into a 3D Matrix A(240,320,516)
The files are called PVCWARM00071,….,PVCWARM0007516
my code so far:
A = zeros(240,320,516)
nummer=0
>> for i= 1:516
nummer = nummer +1
ext = '.MAT'
naam = 'PVCWARM0007'
file= strcat(naam,num2str(nummer),ext)
A(:,:,i) = load(file)
end
i get the error:Conversion to double from struct is not possible. i already tried to make some adjustments with struct2cell and cell2mat without result.
Can someone help?
Thanks

Best Answer

The answer can be found in the documentation of the load function:
S = load(FILENAME) loads the variables from a MAT-file into a structure array, or data from an ASCII file into a double-precision array.
Since you already initialize A as a double, the line A(:,:i) = load(file) is attempting to save load's structure output into your 3D matrix.
If you already know the name of your variables as they are saved in your mat file, you can call load without an output argument to put them in the workspace, then save them to your 3D matrix. Again, though, it helps to know or find out the variable names when doing this:
A = zeros(240,320,516);
nummer = 0;
for i = 1:516
nummer = nummer +1
ext = '.MAT';
naam = 'PVCWARM0007';
file = strcat(naam,num2str(nummer),ext);
load(file)
A(:,:,i) = B; %if, for example, the variable's name is B
end