[問題] 平行處理matrix遇到的問題已回收

看板MATLAB作者 (face book is my fav)時間16年前 (2009/11/25 14:45), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
各位同好大家好 小弟遇到了一個很頭大的問題,因為要處理的matrix實在太大,跑一筆資料須時過久 且大電腦上有8顆cpu,老闆希望我寫平行處理加速,但我試了好一陣子了,就是沒法讓 它動作 可否請先進們指導一下,看那邊出錯了? 系統上有8個core,我所以先了以下指令開啟parallel mode matlabpool open local 7 接著我把程式改了一下,把for改為parfor,如下 R=zeros(10000,10000); parfor ii=1:10000 for jj=1:10000 kk=floor(rand(1,1)*10000); if something R(ii,kk)=1; else R(ii,kk)=-1; end end end 但系統一直complain說RR(ii,kk)=1;這行是錯的 The variable R in a parfor cannot be classified. See Parallel for Loops in MATLAB, "Overview". 我check過了help,上面說這個R叫做sliced variable,我不知道到底那錯了?? 可否請教這該怎麼改才合法呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.180.188.24

11/25 15:05, , 1F
R(ii,kk)? R(ii,jj)? 你為甚麼會拿random的東西去當index?
11/25 15:05, 1F

11/25 15:13, , 2F
因為我須要kk這個特別的東西~~而不是jj
11/25 15:13, 2F
文章代碼(AID): #1B3DA2vf (MATLAB)
文章代碼(AID): #1B3DA2vf (MATLAB)