看板 MATLAB 關於我們 聯絡資訊
假設我有5個data: a = 1,2,3,4,5 對於每一個data點,可以求以下矩陣: [a 2a]; 或是更複雜的計算得到(需計算!)。 所以一共可以得到五個這樣的矩陣for a = 1,2,3,4,5 如何將這五個矩陣合成一個5X2的大矩陣呢? 因為data數很大,無法手動形成 [1 2; 2 3; ...] 當然for迴圈應該可以,有更好的方法嗎? -- 流浪在寒冬的黃昏,漫步在這大地上.. 豪邁的把弓架在陳舊的小提琴弦上.... 回首著曾經擁有的天荒地老...... 1701 Stradivari 一生珍藏 by sleeeve -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.250.174.112 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1464141740.A.BDC.html ※ 編輯: sleeeve (173.250.174.112), 05/25/2016 10:36:37
kevio: a=[1;2;3;4;5] 05/25 11:51
kevio: b= [a 2.*a] 05/25 11:51
kevio: 2.* 這個動作就是你說的運算 但要每一行的運算都一樣 05/25 11:52
kevio: 應該說 每一列的運算都一樣 才可這樣做 05/25 11:53
kevio: 另外一種方式是 a=[1;2;3;4;5] b=[1,2] c=a*b 也一樣 05/25 11:54
celestialgod: bsxfun(@times, a, b) 05/25 11:58
celestialgod: a: n x 1, b: 1 x m,出來是n x m的矩陣 05/25 11:59
celestialgod: @times是element相乘,還有其他的operator 05/25 12:00
celestialgod: 可以doc bsxfun查看 05/25 12:00
owLyc: 矩陣乘法! 05/25 12:00
sleeeve: thanks 05/25 12:36