2015-10-27 103 views
0

我想在Matlab中处理一些数据,我遇到了麻烦。Matlab - 连接多维矩阵行元素和输出单行矩阵

我有一个看起来像这样的矩阵。

[c, a, b, a] 
|a, b, c, d| 
|a, c, d, b| 
|b, a, c, d| 
[d, a, b, c] 

我想将每一行连接成一个字符串元素,并把它们放到一个单行矩阵中。

像这样:

[caba,abcd, acdb, bacd, dabc] 

任何帮助表示赞赏。

谢谢!

+0

我只能考虑使用'cell'像'数据= {[ 'c' 的溶液, 'A', 'b', 'A']; [ '一', 'b', 'C', 'd']; [ '一个', 'C', 'd', 'b']; [ 'b','a','c','d']; ['d','a','b','c']}'' –

+1

您可以进一步了解这个矩阵的结构吗?每个元素都是单个字符吗?这是一个字符数组?如果是,那么每行已经被认为是单个字符串。你能提供你用来构造矩阵的实际代码吗? – rayryeng

回答

1
initial_char_matrix=['c','a', 'b', 'a'; 
'a', 'b', 'c', 'd'; 
'a', 'c', 'd', 'b'; 
'b', 'a', 'c', 'd'; 
'd', 'a', 'b', 'c'] 


cell_a=cell(1,size(initial_char_matrix,1)); 

for i=1:size(initial_char_matrix,1) 
    stringjoined=''; 
    for j=1:size(initial_char_matrix,2) 
     stringjoined= strcat(stringjoined,initial_char_matrix(i,j)); 
    end 
    cell_a{i}= stringjoined; 
end 

输出:

>> celldisp(cell_a) 

cell_a{1} = 

caba 


cell_a{2} = 

abcd 


cell_a{3} = 

acdb 


cell_a{4} = 

bacd 


cell_a{5} = 

dabc 

>> 

可以使用该字符串作为

cell_a{index}