Hi all,
I am trying to read the variables from the list of characters those are saved as .mat file 'attached screenshot.' each of those .mat file has sst, lat, lon. I could not find a proper way to get the data by using the for loop.
for N = 1:nfiles;
filename = [flist(N).name];
disp(['Processing ', flist(N).name]);
end
Any help will be appreciated :(
thanks

1 Kommentar

Stephen23
Stephen23 am 18 Dez. 2018
Note that square brackets are a concatenation operator in MATLAB, so they are completely redundent on this line (you are not concatenating anything):
filename = [flist(N).name];

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Stephen23
Stephen23 am 18 Dez. 2018
Bearbeitet: Stephen23 am 18 Dez. 2018

0 Stimmen

D = 'path of the directory where those files are saved';
S = dir(fullfile(D,'erdMH*.mat'));
for k = 1:numel(S)
T = load(fullfile(D,S(k).name));
S(k).lat = T.lat;
S(k).lon = T.lon;
S(k).sst = T.sst;
end
If the imported data have compatible sizes you could concatenate them into arrays, e.g.:
lat = [S.lat]
lon = [S.lon]

4 Kommentare

Lilya
Lilya am 19 Dez. 2018
Thank you so so so much!! :')
Lilya
Lilya am 19 Dez. 2018
i just have one question, I want the final sst matrix separated. as i get it as an accumulative meaning:
1*458*289 insted of 1*23385*289
Thanks in advance
Stephen23
Stephen23 am 19 Dez. 2018
Bearbeitet: Stephen23 am 19 Dez. 2018
"I want the final sst matrix separated"
I do not know what a "separated" matrix is. You can access the imported sst arrays:
  • directly from the non-scalar structure S, or
  • concatenating together (as I showed in my answer), or
  • by putting them into a cell array:
C = {S.sst}
Lilya
Lilya am 19 Dez. 2018
Thanks a lot !!! it works

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 18 Dez. 2018

Kommentiert:

am 19 Dez. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by