MATLAB 板


LINE

※ 引述《candy88257 (阿泰斯)》之銘言: : 例如: : function connect=Qdata(v1,v2,v3) : syms a : data=[]; : steps=((v2-v1)/v3)+1; : hwait=waitbar(0,'wait'); : for vv=v1:v3:v2 : str=['計算vv中,共',num2str((((v2-v1)/v3)+1)),'個vv,','第 : ',num2str((((vv-v1)/v3)+1)),'個vv']; : waitbar((((vv-v1)/v3)+1)/steps,hwait,str); : mm=[a,vv,3+a;a+vv,2+a,1+a;a,2*a,a+2*vv]; : eq=det(mm); : eqans=solve(eq,'a'); : data=[data,eqans]; : end : close(hwait); : connect=data; : end : 上面那段要怎改寫成parfor並行運算? : 求高手幫助! : 感謝! 先不管data的順序,目前想先把parfor弄好 我自己改寫成這樣: function connect=Qdata(v1,v2,v3) %v1最小值; v2 max; v3 間隔 matlabpool local 8 a=sym('a'); data=[]; vall=fix(((v2-v1)/v3)+1); %會加個fix是因為常常有1.00這種東西出現,而程式就會跑出錯誤 parfor ii=1:vall vv=v1+v3*(ii-1) mm=[a,vv,3+a;a+vv,2+a,1+a;a,2*a,a+2*vv]; %真實的矩陣不方便放上來,但其他地方寫法應該依樣 eq=det(mm); eqans=solve(eq,'a'); data=[data,eqans]; end connect=data; matlabpool close end 首先,我測試過確定原版的for的寫法可以跑任何間隔(v3)以及任何v1~v2的範圍 但改成parfor後,發現v3=1 or 0.1都可以跑,但v3=0.01的時候(如:Qdata(0,5,0.01)) 會跑出錯誤,而且是算到一半才出現錯誤(大約50%) 錯誤如下: Error using parallel_function (line 589) Error in MuPAD command: Invalid argument. [stdlib::from64] Evaluating: symobj::fromString Error in Qdata (line 8) parfor ii=1:vall 字面上的意思是無效的參數 但是實在看不出來哪裡有無效的參數... 懇求高手幫助!! 感謝!! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.17.157
1F:→ candy88257:iHakka大大您太厲害了,我把data那幾行刪掉就沒出現那 04/25 10:41
2F:→ candy88257:個錯誤了! 04/25 10:41
3F:→ candy88257:但在parfor裡面要怎麼把資料存進data?? 04/25 10:41
4F:推 iHakka:help parfor 04/25 15:33
5F:→ candy88257:老實講我問問題之前都會做到頭腦快爆炸了才出來問... 04/25 16:10
6F:→ candy88257:我是真的不知道help parfor裡面哪裡有寫有關按順序存 04/25 16:11
7F:→ candy88257:資料的教學... 04/25 16:11
8F:→ iHakka:他有範例寫他怎麼存資料我不認為很難看懂 04/25 16:55
9F:→ iHakka:想想怎麼用利用idx 04/25 16:57
10F:→ candy88257:好的,我會正仔細看help。但是,想問一下 04/25 17:42
11F:→ candy88257:把data=[data,eqans]那行改成for jj=1:3 04/25 17:44
12F:→ candy88257:data=[data;[eqans(jj),vv]] 04/25 17:45
13F:→ candy88257:end 這樣好像解出來會自動幫我們按照vv排列 04/25 17:45
14F:→ candy88257:但怎麼也是在間隔0.01在運算的時候會出錯? 邏輯有錯? 04/25 17:46







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP