[問題] ind2sub 和 sub2ind如何用已回收
請教各位高手 小弟是新手
我有兩個mxn陣列A,B 要作個別值相除的動作(A./B)
但是這兩陣列中有0值
(其兩陣列0值 對應到相同的index, ex:A=[1,2,3;0,5,6], B=[7,8,9;0,10,11])
我想要作值相除 但是想要跳過0/0
(不然會出現Warning:Divide by zero 大量的話運算速度會降低)
我想到的方法:
事先個別將A,B中非0的index記入下來
然後個別將A,B都轉到一維,假設C,D
再用C(find(C~=0))./D(find(D~=0))作值相除的動作
最後在將其轉回mxn陣列
小弟不太懂要如何寫 只知道會用到ind2sub和sub2ind 來記下維度的index
煩請各位高手回覆
拜託各位高手
非常謝謝您 請您指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.175.169
→
07/11 23:49, , 1F
07/11 23:49, 1F
回p大 或許我的想法有錯誤 我只是想要避免出現warning 大量warning出現 速度變很慢
感謝您的指教 我是有想到:
For i=1:3
For j=1:3
If B(i,j)~=0
C(i,j)=A(i,j)/B(i,j)
end
end
end
不過這樣只是迴圈 而不算矩陣運算 速度反而更慢
請問有更好的方法嗎 再一次感謝各位高手的回覆
※ 編輯: yaohwei 來自: 211.76.175.169 (07/12 13:31)
推
07/12 14:30, , 2F
07/12 14:30, 2F
回n大 感謝您 我剛剛試過了 不過會在C=A./B這行中出現warning:Divide by zero
小弟是想避免出現此warning 因為我目前是作simulation階段
在command window中會重複顯示很多次 速度會變慢
所以小弟才要避免掉
再一次感謝n大的回覆
※ 編輯: yaohwei 來自: 211.76.175.169 (07/12 15:15)
推
07/12 15:41, , 3F
07/12 15:41, 3F
→
07/12 15:41, , 4F
07/12 15:41, 4F
成功了 非常感謝P大您的幫助 減少1/5的計算時間
※ 編輯: yaohwei 來自: 211.76.175.169 (07/12 16:28)
推
07/12 18:14, , 5F
07/12 18:14, 5F
推
07/13 21:56, , 6F
07/13 21:56, 6F
非常謝謝n大的回覆
※ 編輯: yaohwei 來自: 211.76.175.169 (07/14 11:00)