[討論] 平行運算寫入問題

看板MATLAB作者 (Lin)時間6年前 (2018/04/25 03:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
各位前輩好 我寫了一個的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
文章代碼(AID): #1Qtuk31z (MATLAB)