[問題] 如何擴大矩陣

看板MATLAB作者 (赴美留學的日子...)時間9年前 (2016/05/25 10:02), 9年前編輯推噓0(0011)
留言11則, 4人參與, 最新討論串1/1
假設我有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

05/25 11:51, , 1F
a=[1;2;3;4;5]
05/25 11:51, 1F

05/25 11:51, , 2F
b= [a 2.*a]
05/25 11:51, 2F

05/25 11:52, , 3F
2.* 這個動作就是你說的運算 但要每一行的運算都一樣
05/25 11:52, 3F

05/25 11:53, , 4F
應該說 每一列的運算都一樣 才可這樣做
05/25 11:53, 4F

05/25 11:54, , 5F
另外一種方式是 a=[1;2;3;4;5] b=[1,2] c=a*b 也一樣
05/25 11:54, 5F

05/25 11:58, , 6F
bsxfun(@times, a, b)
05/25 11:58, 6F

05/25 11:59, , 7F
a: n x 1, b: 1 x m,出來是n x m的矩陣
05/25 11:59, 7F

05/25 12:00, , 8F
@times是element相乘,還有其他的operator
05/25 12:00, 8F

05/25 12:00, , 9F
可以doc bsxfun查看
05/25 12:00, 9F

05/25 12:00, , 10F
矩陣乘法!
05/25 12:00, 10F

05/25 12:36, , 11F
thanks
05/25 12:36, 11F
文章代碼(AID): #1NHGUilS (MATLAB)
文章代碼(AID): #1NHGUilS (MATLAB)