Re: [問題] 矩陣問題已回收
※ 引述《weibear (阿維)》之銘言:
: 小弟想請問一下各位大大
: 假如我有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
加上這行 讓你的矩陣變成對稱的就好啦
inter_distance(j,i)=inter_distance(i,j)
: end
: end
: 但跑出來的結果卻是一個下三角的矩陣~雖然我知道他會是對稱矩陣,
: 會多一倍的計算量,若我需要使用這個矩陣而非是matlab跑出得下三角矩陣
: 請問有別的作法嗎?
: 如果沒有,那請問一下我如果要用到inter_distance(1,10)的元素的話
: ( 這一格matlab跑出0,正確的值在他對稱於inter_distance(10,1) )
: 那我又該如何讓程式能夠自己找到正確的值而非0呢?
: 謝謝大大看完我的疑問~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.134.47
推
10/30 01:02, , 1F
10/30 01:02, 1F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章