[問題] 矩陣問題已回收
小弟想請問一下各位大大
假如我有10個點,我想算每個點到其他點的距離
假設點的座標是
a = [1,1;2,2;3,3;4,4;5,5;6,6;7,7;8,8;9,9;10,10]
小弟的寫法是比較簡單的直接使用兩個loop解決它
程式碼如下:
Data_len = length(a);
for i = 1 : Data_len
for j = 1 : Data_len
if (i == j) inter_distance(i,j) = 0; fprintf('0\n'); break;
else
inter_distance(i,j) = sum((a(i,:) - a(j,:)).^2);
end
end
end
但跑出來的結果卻是一個下三角的矩陣~雖然我知道他會是對稱矩陣,
會多一倍的計算量,若我需要使用這個矩陣而非是matlab跑出得下三角矩陣
請問有別的作法嗎?
如果沒有,那請問一下我如果要用到inter_distance(1,10)的元素的話
( 這一格matlab跑出0,正確的值在他對稱於inter_distance(10,1) )
那我又該如何讓程式能夠自己找到正確的值而非0呢?
謝謝大大看完我的疑問~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.82.134
推
10/30 00:09, , 1F
10/30 00:09, 1F
→
10/30 13:38, , 2F
10/30 13:38, 2F
→
10/30 22:42, , 3F
10/30 22:42, 3F
→
10/30 22:42, , 4F
10/30 22:42, 4F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章