[討論] 平行運算寫入問題
各位前輩好
我寫了一個的script用來把另一個function的數值寫入txt檔
內容如下
--------------------------
temp = 300;
int_temp = zeros(temp, 1);
filename = ['int_vs_T.txt'];
filepath = sprintf(filename);
fidw = fopen(filepath, 'w+');
for ii = 1 : temp
int_temp(ii, 1) = SO_phase_tran_ver3(400,4,1.5,1.5,0,ii);
fprintf(fidw, '%.6f\r\n', int_temp(ii, 1));
end
fclose(fidw);
--------------------------
由於實在算的很慢,想試試看平行運算
因此我把script改成
-------------------------
parpool(2)
temp = 300;
int_temp = zeros(temp, 1);
filename = ['int_vs_T.txt'];
filepath = sprintf(filename);
fidw = fopen(filepath, 'w+');
parfor ii = 1 : temp
int_temp(ii, 1) = SO_phase_tran_ver3(400,4,1.5,1.5,0,ii);
fprintf(fidw, '%.6f\r\n', int_temp(ii, 1));
end
fclose(fidw);
parpool close
-------------------------
不過改成這樣之後會出現以下錯誤訊息
Invalid file identifier. Use fopen to generate a valid file identifier.
想請問造成這個錯誤的原因為何?
是因為平行運算沒辦法同時把資料寫入'int_vs_T.txt'這個檔案嗎?
請問修改的方向是?
希望前輩指點,感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 130.126.255.51
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1524599683.A.07D.html
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章