[問題] 將三維向量展成三維矩陣已回收

看板MATLAB作者 (最愛就是隔壁的那位..)時間15年前 (2009/06/09 19:17), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/2 (看更多)
請問大家如果我有ㄧ個1*16*16的三維向量, 要如何將它展成16*16*16的三維的diagonal matrix? 目前已經試過diag的指令但是似乎無法使用, 因為要節省運算速度所以盡量沒有使用到for迴圈, 小弟已經想很久了麻煩各位高手幫忙解答一下>< 例如有一個向量A = [1 2 3]; 則使用diag(A) = [1 0 0 0 2 0 0 0 3]; 那現在我有N個相同大小(1*3的向量)但是裡面元素均不一樣的向量群(大小為1*3*N), 那有沒有辦法一次就得到由每個向量展開後的矩陣(3*3*N),而每個矩陣的樣子都與 上面的形式相同? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.150.116

06/09 20:32, , 1F
diagonal不是這樣定義的吧.....你要的是repmat
06/09 20:32, 1F

06/09 21:01, , 2F
恩但是我要的是將向量中的每個值丟進矩陣的對角線元素內
06/09 21:01, 2F

06/09 21:02, , 3F
這樣的話用repmat可以做到嗎??
06/09 21:02, 3F

06/09 22:27, , 4F
你能稍微畫一下立體圖說明你想做什麼事嗎?
06/09 22:27, 4F
※ 編輯: hjordan 來自: 140.113.150.116 (06/10 09:09)
文章代碼(AID): #1ABaJZKz (MATLAB)
文章代碼(AID): #1ABaJZKz (MATLAB)