Re: [問題] 求救~PARFOR裡的變數已回收

看板MATLAB作者 (消失的下雨天)時間16年前 (2009/11/11 08:07), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《sample0620 (消失的下雨天)》之銘言: : 小弟想在PARFOR裡讓他的變數每一圈跑完就迭代掉一個新的值 : 可是好像不行 : 他每次都會清掉? : 有人可教教我嗎 : 感激不盡~ parfor i=1:10000 ans1=subs(FFF,[x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9)],[y(2),y(3),y(4),y(5),y(6),y(7),y(8),y(9)]); ans11=@(vx) eval(ans1); [y(1),val]=fminbnd(ans11,-200000,200000); ans2=subs(FFF,[x(1),x(3),x(4),x(5),x(6),x(7),x(8),x(9)],[y(1),y(3),y(4),y(5),y(6),y(7),y(8),y(9)]); ans22=@(kx) eval(ans2); [y(2),val]=fminbnd(ans22,-2000,2000); ans3=subs(FFF,[x(1),x(2),x(4),x(5),x(6),x(7),x(8),x(9)],[y(1),y(2),y(4),y(5),y(6),y(7),y(8),y(9)]); ans33=@(ky) eval(ans3); [y(3),val]=fminbnd(ans33,-2000,2000); ans4=subs(FFF,[x(1),x(2),x(3),x(5),x(6),x(7),x(8),x(9)],[y(1),y(2),y(3),y(5),y(6),y(7),y(8),y(9)]); ans44=@(dx) eval(ans4); [y(4),val]=fminbnd(ans44,-2000,2000); ans5=subs(FFF,[x(1),x(2),x(3),x(4),x(6),x(7),x(8),x(9)],[y(1),y(2),y(3),y(4),y(6),y(7),y(8),y(9)]); ans55=@(dy) eval(ans5); [y(5),val]=fminbnd(ans55,-2000,2000); ans6=subs(FFF,[x(1),x(2),x(3),x(4),x(5),x(7),x(8),x(9)],[y(1),y(2),y(3),y(4),y(5),y(7),y(8),y(9)]); ans66=@(dz) eval(ans6); [y(6),val]=fminbnd(ans66,-2000,2000); ans7=subs(FFF,[x(1),x(2),x(3),x(4),x(5),x(6),x(8),x(9)],[y(1),y(2),y(3),y(4),y(5),y(6),y(8),y(9)]); ans77=@(epx) eval(ans7); [y(7),val]=fminbnd(ans77,-2000,2000); ans8=subs(FFF,[x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(9)],[y(1),y(2),y(3),y(4),y(5),y(6),y(7),y(9)]); ans88=@(epy) eval(ans8); [y(8),val]=fminbnd(ans88,-2000,2000); ans9=subs(FFF,[x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8)],[y(1),y(2),y(3),y(4),y(5),y(6),y(7),y(8)]); ans99=@(o3) eval(ans9); [y(9),val]=fminbnd(ans99,0,2*pi); val y 這樣 本來太慢 想用parfor跑 可是這樣好像必須在迴圈裡指定y矩陣的值 那這樣他每跑一次就帶回新的值 怎麼跑都一樣 請問怎麼做才好 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.197.107

11/12 11:03, , 1F
每個iteration互相相依這樣沒辦法在迴圈層平行計算
11/12 11:03, 1F
文章代碼(AID): #1A-W0a3K (MATLAB)
文章代碼(AID): #1A-W0a3K (MATLAB)