2015-10-26 112 views
-1

在Matlab中,我有两个矩阵a(1x20)和b(1x20)。我想合并或连接它们作为一个矩阵c(1x20)。例如,如果在Matlab中连接两个矩阵

a=[1 3 2 0] 
b=[0 1 2 2] 

然后

c=[4 13 10 2] 

要解释

a(1,1) = 01%// as a Most significant bits 
b(1,1) = 00%// as a least significant bits 

所以结果是

c(1,1)= 0100 
+1

您是否尝试过在你自己的什么?例如使用'bitshift'? – Daniel

+0

所以矩阵a的值可以大于3,还是限制在两位。看看4 * a + b。 –

+0

https://en.wikipedia.org/wiki/Concatenation_(mathematics)这是你用这个bithsifting做的同样的数学计算吗? – madmanali93

回答

0

正式的方式做到这一点是使用bitshift

wordSize = 8 %Size of your word, this is for your case 

c = bitshift(a, wordSize/2) + b 

,你也可以做一些漂亮的印刷,以检查:

for i = 1:length(a) 
    fprintf("%d: Part A: %08s \tPart B: %08s \tPart C: %08s\n", i, a[i], b[i], c[i]) 

警告,代码没有测试

+0

亲爱的本,感谢您的回答,但我把字大小= 4和代码的作品。非常感谢 –