How to perform function whos output is a struct in a loop?
古いコメントを表示
I am trying to loop a data extraction program over multiple files in a string array, and place the results in a struct, but i continue getting the error
Subscripted assignment between dissimilar structures
GPdata=struct();
for k=length(files):-1:1
[GPdata(k)]=extractDataV2(files(k));
end
how can i get the output of the function to populate subsequent rows of the GPdata struct?
回答 (1 件)
Assuming identical fieldnames, the simplest and most robust solution is to concatenate the structure after the loop:
N = numel(files);
C = cell(1,N);
for k = 1:N
C{k} = extractDataV2(files(k));
end
S = [C{:}]
If you really want to use complex, obfuscated approaches involving indexing into a structure array, see this thread:
カテゴリ
ヘルプ センター および File Exchange で Structures についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!