[問題] 如何將非對稱矩陣轉成對稱矩陣

看板MATLAB作者時間11年前 (2014/05/05 22:42), 11年前編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
如題,手邊有個3 * 3的矩陣資料 1 2 3 0 0 0 0 6 0 想要將他轉為對稱矩陣的形式,就像: 1 2 3 2 0 6 3 6 0 squareform指令似乎沒有辦法做到這樣, 想請問如何利用matlab達到這個目的? 謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.230.24 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1399300961.A.D7E.html ※ 編輯: okmnji (140.112.230.24), 05/05/2014 22:44:20

05/05 23:08, , 1F
矩陣加轉置矩陣 A=[1 2 3; 0 0 0; 0 6 0]; B=A+A'
05/05 23:08, 1F

05/06 00:25, , 2F
a+a'-diag(a)
05/06 00:25, 2F

05/06 01:18, , 3F
A+A'-diag(diag(A)) 這樣才對
05/06 01:18, 3F

05/06 01:19, , 4F
不過你要確定原來的A矩陣他要對稱過去的那些原來都是0喔
05/06 01:19, 4F

05/06 02:32, , 5F
對過去不是零有什麼問題嗎= =?
05/06 02:32, 5F

05/06 08:25, , 6F
我是指例如A(3,2)那個6對應的不是A(2,3)=0嗎? 如果不是0
05/06 08:25, 6F

05/06 08:26, , 7F
就不能用這種轉置相加的方法
05/06 08:26, 7F

05/06 14:00, , 8F
謝謝大家,也特別感謝p大提出疑點。
05/06 14:00, 8F
文章代碼(AID): #1JPwDXr- (MATLAB)
文章代碼(AID): #1JPwDXr- (MATLAB)