[運算] 陣列加減運算加速
各位好,若在N維空間中有M個點,要分別計算這M個點與特定L個點的相對距離,該如何在不用迴圈且最節省記憶體的前提下計算?
目前迴圈寫法如下:
for ii=1:L
DISTANCE(:,ii)=sum((INPUT_DATA-INITIAL_CENTER(ii,:)).^2,2);
end
其中DISTANCE為MxL;INPUT_DATA為MxN;INITIAL_CENTER為LxN;
後來有用repmat改寫,INPUT_DATA改MxNxL;INITIAL_CENTER為1xNxL,還沒運算就吃了一半記憶體,在跑運算時就整個吃光卡死。
謝謝大家。
-----
Sent from JPTT on my Sony G8441.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.9.196.56 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1582018707.A.273.html
推
02/18 18:18,
4年前
, 1F
02/18 18:18, 1F
→
02/18 18:19,
4年前
, 2F
02/18 18:19, 2F
→
02/18 18:20,
4年前
, 3F
02/18 18:20, 3F
→
02/18 18:21,
4年前
, 4F
02/18 18:21, 4F
→
02/18 18:22,
4年前
, 5F
02/18 18:22, 5F
→
02/18 18:23,
4年前
, 6F
02/18 18:23, 6F
推
02/18 18:36,
4年前
, 7F
02/18 18:36, 7F
→
02/18 18:38,
4年前
, 8F
02/18 18:38, 8F
→
02/18 18:38,
4年前
, 9F
02/18 18:38, 9F
→
02/18 19:23,
4年前
, 10F
02/18 19:23, 10F
推
02/18 21:20,
4年前
, 11F
02/18 21:20, 11F
→
02/19 18:57,
4年前
, 12F
02/19 18:57, 12F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章