2013-05-07 269 views
0

假设我有一系列的字符串,如:连接字符串

a = '101010101010' 
b = '010101' 
c = '000101010' 

有在Matlab的方式将它们串联并产生二进制数 101010101010010101000101010?

+0

你想级联的二进制字符串或级联的二进制字符串的十进制值? (如果是后者,你可以使用'bin2dec'函数结合任何OP的答案。) – wakjah 2013-05-07 19:06:31

+0

是啊不清楚你想要什么,也许是一个逻辑的矢量?即:'[a,b,c] - '0'' – Amro 2013-05-07 19:24:37

+0

我需要连接的字符串,比如说d = strcat(a,b,c)是一个二进制数,而不是strcat输出的十进制等效数 – Bob 2013-05-07 19:51:08

回答

0

我认为这应该工作:

res = [a,b,c] 

或者您也可以致电

res = strcat(a,b,c)

或还

res = cat(2,a,b,c)

0

来连接字符串,你可以说:

out = [a b c]; 

或者:

out = strcat(a,b,c); 

还有一种方法:

out = sprintf('%s', a,b,c); 
1

使用连接运算符[ ],与横向拼接,(垂直串联;会失败的,除非你reshape()成列向量):

[a,b,c] 

不过,我建议你存储中的变量单元阵列:

s = {'101010101010','010101', '000101010'}; 
[s{:}] 

cat(2,s{:})