How do I save multiple results from a function as different structures in a for loop?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi all,
I've a function that returns multiple results in a structure (i.e results.m1, results.m2). As running this function each time is computationally intensive with many simulations within it, I am attempting to put this in a parallel computing environment, as follows:
parfor z = 1:8
results=function(x,y,z);
end
My question then is: How can I get the function to return me 8 different structures containing my results? I can't seem to get it to do so.
Would love to have some help here.
Thanks :)
0 件のコメント
回答 (1 件)
Matt J
2013 年 4 月 30 日
編集済み: Matt J
2013 年 4 月 30 日
Why not create a struct array as follows?
parfor z = 1:8
results(z)=function(x,y,z);
end
2 件のコメント
Matt J
2013 年 4 月 30 日
編集済み: Matt J
2013 年 4 月 30 日
Whatever it is, it's not coming from code you've shown us. Try running the simplified example below as an mfile. You should find that it works fine.
function test
parfor z = 1:8
results(z)=makestruct(z);
end
results
function S=makestruct(z)
S.a=z;
S.b=z;
参考
カテゴリ
Help Center および File Exchange で Structures についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!