作者zxc1029 (balloon)
看板MATLAB
标题[问题] 矩阵问题
时间Mon Jan 20 20:07:00 2014
各位大大好
因为刚好有修一门课。作业是照一本书的程式码跑
不过因为我不是很在行这个软体,所以一直跑不出来
再麻烦高手们帮忙,谢谢
程式码是
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
1F:→ zxc1029:目前矩阵 (2X3998)+(2X3998)+(2X1999)+(1X3998) 01/20 20:46
2F:→ zxc1029:这样是可以使用吗 01/20 20:46
3F:→ zxc1029:不好意思麻烦了 谢谢 01/20 20:50
4F:推 profyang:你一堆符号实在看不太懂@@不过你最後是有2*3999+2*1999? 01/21 02:03
5F:→ profyang:这样当然不能加吧 01/21 02:03
6F:→ zxc1029:不好意思 因为我不太会懂格式 真的抱歉 01/21 13:19
7F:→ zxc1029:我也是觉得相加问题 请问要创一个什麽使他们可以相加? 01/21 13:21
8F:推 profyang:假设你是A+B好了,A是2*3999, B是2*1999 你这样要相加是想 01/21 13:46
9F:→ profyang:怎麽加?如果你是想要A的前面2*1999加上B然後剩下部分不变 01/21 13:47
10F:→ profyang:那你可以把B扩大成C像这样:C=[B,zeros(2,2000)]再去A+C 01/21 13:48
11F:→ profyang:这样size一样才可以加 01/21 13:48
12F:推 kurt28:推p大的解说 如果原PO你的矩阵还是像你推文所说那样 01/21 13:53
13F:→ kurt28:是无法相加的 你的size一定要一样才能加 01/21 13:54
14F:→ zxc1029:谢谢p大 c我试出来 可是(1X3998)这个试不出 01/21 14:14
15F:→ zxc1029:我设 e=[zeros(1,3998),g] 想把最後的维度变成(2X3998) 01/21 14:15
16F:→ zxc1029:变成1x7996 不晓得这边是怎麽放...? 01/21 14:18
17F:→ zxc1029:g是我把之前的shocks 自创出来的 他的维度是1x3998 01/21 14:20
18F:推 kurt28:用[zeros(1,3998);g] 01/21 14:27
19F:→ zxc1029:谢谢k大!!!已解出答案 谢谢你们 01/21 17:54