Load multiple struct 1x1 mat files

2 visualizzazioni (ultimi 30 giorni)
Beatrice Milik
Beatrice Milik il 23 Apr 2019
Modificato: Stephen23 il 23 Apr 2019
Hey guys!
I am having trouble when trying to load several mat files which consist of RMN images. The files are struct 1x1 and if I try to create a loop for loading files, Matlab loads only the first image in the variable named cjdata.
Has anyone else had this problem and found a solution?
Thanks!
filenames={'1550.mat','1549.mat','1548.mat','1547.mat','1546.mat','1545.mat','1544.mat',...
'1543.mat','1542.mat','1541.mat'};
for kk = 1:numel(filenames)
load(filenames{kk})
end
  2 Commenti
Stephen23
Stephen23 il 23 Apr 2019
Modificato: Stephen23 il 23 Apr 2019
Beatrice Milik please show us the code you are using, either as text in your question or uploaded as a text file (simply by clicking the paperclip button).
"Has anyone else had this problem and found a solution?"
Most likely you just need to use indexing, exactly like the examples here:

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 23 Apr 2019
Modificato: Stephen23 il 23 Apr 2019
It is recommended to load into an output variable, rather than directly into the workspace. doing so also makes your task simpler and easier to understand:
V = 1550:-1:1541;
N = numel(V);
C = cell(1,N);
for kk = 1:N
F = sprintf('%d.mat',V(kk));
S = load(F);
C{kk} = S.cjdata;
end
All of the image data will be in the cell array C.
You can easily adapt this to suit your exact variable class and size: or if this code does not work and you want more help then please upload a sample file.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by