[問題] 矩陣問題

看板MATLAB作者 (balloon)時間11年前 (2014/01/20 20:07), 編輯推噓4(4015)
留言19則, 3人參與, 最新討論串34/34 (看更多)
各位大大好 因為剛好有修一門課。作業是照一本書的程式碼跑 不過因為我不是很在行這個軟體,所以一直跑不出來 再麻煩高手們幫忙,謝謝 程式碼是 D=B*forecast + C*lag + smooth*rlag +shocks 其中 B=[b1 0;-a2 0] C=[1-b1 0;0 1-a1] forecast=[eps;eys] eps=alfap*epcs+(1-alfap)*epfs 在跑的時候出現 ??? Error using ==> * Inner matrix dimensions must agree. 因為我想是不是矩陣的問題 因為forecast size 是 3998 1 然後Size(B) 是 2 2 所以我自創了一個G,size是 2 1 想讓這個矩陣可以 [2x2] [2x1] [1x3998] 於是 我把式子設成 D= B*G'*forecast + C*G'*lag + smooth*rlag' + shocks' 但還是出現問題 ??? Error using ==> * Inner matrix dimensions must agree. 想問高手們我大概是哪邊出了問題須做更改? 因為實在是找不出答案 感恩 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.51.216

01/20 20:46, , 1F
目前矩陣 (2X3998)+(2X3998)+(2X1999)+(1X3998)
01/20 20:46, 1F

01/20 20:46, , 2F
這樣是可以使用嗎
01/20 20:46, 2F

01/20 20:50, , 3F
不好意思麻煩了 謝謝
01/20 20:50, 3F

01/21 02:03, , 4F
你一堆符號實在看不太懂@@不過你最後是有2*3999+2*1999?
01/21 02:03, 4F

01/21 02:03, , 5F
這樣當然不能加吧
01/21 02:03, 5F

01/21 13:19, , 6F
不好意思 因為我不太會懂格式 真的抱歉
01/21 13:19, 6F

01/21 13:21, , 7F
我也是覺得相加問題 請問要創一個什麼使他們可以相加?
01/21 13:21, 7F

01/21 13:46, , 8F
假設你是A+B好了,A是2*3999, B是2*1999 你這樣要相加是想
01/21 13:46, 8F

01/21 13:47, , 9F
怎麼加?如果你是想要A的前面2*1999加上B然後剩下部分不變
01/21 13:47, 9F

01/21 13:48, , 10F
那你可以把B擴大成C像這樣:C=[B,zeros(2,2000)]再去A+C
01/21 13:48, 10F

01/21 13:48, , 11F
這樣size一樣才可以加
01/21 13:48, 11F

01/21 13:53, , 12F
推p大的解說 如果原PO你的矩陣還是像你推文所說那樣
01/21 13:53, 12F

01/21 13:54, , 13F
是無法相加的 你的size一定要一樣才能加
01/21 13:54, 13F

01/21 14:14, , 14F
謝謝p大 c我試出來 可是(1X3998)這個試不出
01/21 14:14, 14F

01/21 14:15, , 15F
我設 e=[zeros(1,3998),g] 想把最後的維度變成(2X3998)
01/21 14:15, 15F

01/21 14:18, , 16F
變成1x7996 不曉得這邊是怎麼放...?
01/21 14:18, 16F

01/21 14:20, , 17F
g是我把之前的shocks 自創出來的 他的維度是1x3998
01/21 14:20, 17F

01/21 14:27, , 18F
用[zeros(1,3998);g]
01/21 14:27, 18F

01/21 17:54, , 19F
謝謝k大!!!已解出答案 謝謝你們
01/21 17:54, 19F
文章代碼(AID): #1ItH5diX (MATLAB)
文章代碼(AID): #1ItH5diX (MATLAB)