Re: [問題] 想計算距離的疑問已回收
※ 引述《Luke68 (該開始衝了~)》之銘言:
: 想請問各位高手,
: 目前有矩陣A[n,k]、矩陣B[1,k]
: 我想計算矩陣A中的每個row跟矩陣B的距離,
: 我目前的寫法為:
: for i=1:n
: dis(i)=norm(A(i,:)-B(1,:),2);
: end
: 請問有其他寫法,
: 可以使程式的執行速度變快嗎?
: 煩請大家指點迷津,
: 謝謝。
推文版本
banco:Dis = sum( (A-ones(n,1)*B).^2 , 2 ).^0.5;
回文版本
C=repmat(B,n,1);
Dist=sqrt(sum((A-C).^2,2));
done!
秒數比較 size在小時 推文勝出
大時 回文勝出
差別
n,k在1~200內用推文版的就可以了
n=1000;
k=900;
Elapsed time is 0.074910 seconds.
Elapsed time is 0.000797 seconds.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.63.252
※ 編輯: e0101010 來自: 122.116.63.252 (11/19 20:23)
→
11/19 20:30, , 1F
11/19 20:30, 1F
推
11/20 06:18, , 2F
11/20 06:18, 2F
→
11/20 13:17, , 3F
11/20 13:17, 3F
推
11/20 13:24, , 4F
11/20 13:24, 4F
→
11/20 13:24, , 5F
11/20 13:24, 5F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章