でのparforのフォルダ内のファイルを.MATロードするためにどのように私はは、MATLAB
B=load('dataB.mat'); % B is a 1600*100 matrix stored as 'dataB.mat' in the local folder
simN=100;
cof=cell(1,simN);
se=cell(1,simN);
parfor s=1:simN
[estimates, SE]=fct(0.5,[0.1,0.8,10]',B(:,s));
cof{s}=estimates';
se{s}=SE';
end
しかし次のコードをMATLABでのparforループを実行したい、コードが動作しないように見える - 警告がない、それは出力なしで永遠に実行している - 私はループを終了し、関数 'fct'に決して入力していないことがわかった。 MATLABの並列計算で 'dataB.mat'のような外部データを読み込む方法について、どんな助力がありますか?私は私のコンソール上でこれを入力した場合
コードに間違いはありません。それはちょうど本当に長い時間がかかっている可能性があります。並列計算を行う場合、MATLABは必要なすべてのデータを各作業者に送信する必要があります。この場合、「B」はすべての作業者にコピーする必要があります。 'B'が非常に大きい場合、これは大きな遅延を引き起こすことがあり、通常の' for'ループより時間がかかることがよくあります。 – jodag