看板 MATLAB 關於我們 聯絡資訊
各位大大好 因為剛好有修一門課。作業是照一本書的程式碼跑 不過因為我不是很在行這個軟體,所以一直跑不出來 再麻煩高手們幫忙,謝謝 程式碼是 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
zxc1029:目前矩陣 (2X3998)+(2X3998)+(2X1999)+(1X3998) 01/20 20:46
zxc1029:這樣是可以使用嗎 01/20 20:46
zxc1029:不好意思麻煩了 謝謝 01/20 20:50
profyang:你一堆符號實在看不太懂@@不過你最後是有2*3999+2*1999? 01/21 02:03
profyang:這樣當然不能加吧 01/21 02:03
zxc1029:不好意思 因為我不太會懂格式 真的抱歉 01/21 13:19
zxc1029:我也是覺得相加問題 請問要創一個什麼使他們可以相加? 01/21 13:21
profyang:假設你是A+B好了,A是2*3999, B是2*1999 你這樣要相加是想 01/21 13:46
profyang:怎麼加?如果你是想要A的前面2*1999加上B然後剩下部分不變 01/21 13:47
profyang:那你可以把B擴大成C像這樣:C=[B,zeros(2,2000)]再去A+C 01/21 13:48
profyang:這樣size一樣才可以加 01/21 13:48
kurt28:推p大的解說 如果原PO你的矩陣還是像你推文所說那樣 01/21 13:53
kurt28:是無法相加的 你的size一定要一樣才能加 01/21 13:54
zxc1029:謝謝p大 c我試出來 可是(1X3998)這個試不出 01/21 14:14
zxc1029:我設 e=[zeros(1,3998),g] 想把最後的維度變成(2X3998) 01/21 14:15
zxc1029:變成1x7996 不曉得這邊是怎麼放...? 01/21 14:18
zxc1029:g是我把之前的shocks 自創出來的 他的維度是1x3998 01/21 14:20
kurt28:用[zeros(1,3998);g] 01/21 14:27
zxc1029:謝謝k大!!!已解出答案 謝謝你們 01/21 17:54