Merging several mat files in a row order
古いコメントを表示
Hi everyone,
I have 65 mat files with different names and each mat file is 1x1 struct, contains information as longitude, latitude, year(335x1), month(335x1) etc.
So how can i combine them as a single mat file which should have first row as a information of first mat file, second row as a information of second mat file, until 65 rows of each mat file?
I would be very pleased if you have any idea about how to do it?
回答 (1 件)
Jan
2021 年 7 月 11 日
You did not explain, how a list of the files names can be obtained. I guess, that they can be found in the same folder:
Folder = 'C:\your\folder';
Files = dir(fullfile(Folder, '*.mat'));
DataC = cell(1, numel(Files));
for iFile = 1:numel(Files)
aFile = fullfile(Folder, Files(iFile).name);
DataC{iFile} = load(aFile);
end
Data = cat(2, DataC{:});
4 件のコメント
Ahmet Hakan UYANIK
2021 年 7 月 11 日
編集済み: Ahmet Hakan UYANIK
2021 年 7 月 11 日
Jan
2021 年 7 月 13 日
Of course I cannot guess, what the contents of your MAT files is. Now it is clear, that the files contains structs with a field name "astoria" and "betio" with the subfield "longitude". But where does "latitude", "datetime" and "observation" come from? It is no save strategy, if I guess this.
What is the wanted output? You want "a single MAT file", but your example looks like a table. Should it be a text file?
Ahmet Hakan UYANIK
2021 年 7 月 14 日
Jan
2021 年 7 月 15 日
What are "subfields in a row"? Fields do not have an orientation. What is "calling with the row order"?
I assume, you want to create either a struct array, or to write a text file containing rows.
カテゴリ
ヘルプ センター および File Exchange で Structures についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!