Arrays 将两个字符串数组组合成一个矩阵

Arrays 将两个字符串数组组合成一个矩阵,arrays,string,matlab,Arrays,String,Matlab,这应该很简单,但在Matlab中却非常困难和令人沮丧。如果我有这样一个字符串数组 row = ['A','a'] 还有一个像这样的 column = ['a','a'] 我怎样才能得到它 matrix ='A' 'a' 'a' [ 'Aa' 'aa' 'a' 'aA' 'aa' ] 我试过Kronecker张量,它对字符串不起作用,我必须做各种讨厌的单元格和字符串转换,Matlab有这种恼人的行为,把字符串数组转换成规则字符串,弄乱

这应该很简单,但在Matlab中却非常困难和令人沮丧。如果我有这样一个字符串数组

row = ['A','a'] 
还有一个像这样的

column = ['a','a']
我怎样才能得到它

    matrix ='A'   'a'
      'a' [ 'Aa'  'aa'     
      'a'  'aA'   'aa'  ]
我试过Kronecker张量,它对字符串不起作用,我必须做各种讨厌的单元格和字符串转换,Matlab有这种恼人的行为,把字符串数组转换成规则字符串,弄乱了我的值和间距

您要查找的,它将水平连接字符串:

row = {'A' 'a'};
result1 = strcat(row, 'a');
result2 = strcat('a', row);
在此之后,您将获得:

result1 = 

    'Aa'    'aa'


result2 = 

    'aA'    'aa'
这将有助于:

row = ['A','a']

col = ['a'; 'a']

M = {[row(1), col(1)], [row(1), col(2)]; 
     [row(2), col(1)], [row(2), col(2)]}
如果你有更长的“索引”向量,推广到循环是非常简单的


请注意,我使用了花括号而不是方括号,这使得它使用了一个单元格数组而不是一个普通数组,这是获得所需“间距”的方法。

每个字符串是否总是正好是一个字符,或者字符串是否总是具有相同的长度?你的问题是否总是2x2,或者它是否也会很大?如果是,模式是什么?与其发布一个非常沮丧和固执己见的问题,请准确描述你想要实现的目标(因为看起来你只是出于自己的目的使用了错误的语法)。不清楚您想要完成什么,所以我们很难给您一个好的答案。@DennisJaheruddin-每个等位基因/字符串都将始终是一个字符。@RodyOldenhuis这是一个多么固执己见的问题?我正在尝试有效地生成一个字符串的组合表…以解决问题。。1.当你用大括号代替没有逗号的括号时,它叫什么?这是一个集合吗?2.如果我想生成一个(大得多的)更大的模型,我是否能够以编程方式(矢量化)一次性完成这一切table@Leon1.它被称为
单元数组
。2.当然,只要你遵循细胞阵列的规则来创建更大的细胞。谢谢你的回答。有没有一种更具程序性的方法来创建这个?比如一些内置的matlab函数?@Leon是的。。。使用循环。
for r = 1:size(row,2)
    for c = 1:size(col,1)
            M{r,c} = [row(r), col(c)];
    end;
end;