MATLAB - 连接单元格数组中的项目

时间:2010-07-05 13:29:02

标签: matlab arrays cell concatenation

我有一个单元格数组:

X =

{1x2} {1x2}


X{1} = '' A

X{1 2} = 10 113

我希望以这样的方式连接子单元

 Y = 10 113A

谢谢, S: - )

4 个答案:

答案 0 :(得分:1)

y = cellfun(@(a, b) sprintf('%d%s', b, a), x{1}, x{2}, 'UniformOutput', false);

答案 1 :(得分:1)

假设你有X的这个单元格数组:

X = {{'' 'A'} {10 113}};

您可以使用INT2STRSTRCAT创建数组Y

Y = strcat(int2str([X{2}{:}].'),X{1}.').';

答案 2 :(得分:0)

Matlab文件交换有一个函数来编写这个。 uniqueRowsCA

答案 3 :(得分:-1)

对于那些感兴趣的人,我想我找到了一个解决方案。

我将我的单元格数组重新定义为:

X1 =

{1x2}

X1 = '' 'A'

X2 = 

[1x2 double]

X2 = 10 113

然后我将其应用于循环:

NUM = [];

for i = 1:size(X2')              #take the transpose of X2
    p = num2str(X2(i));          #convert doubles to strings
    str = STRCAT(p, X1(i));      #concatenate
    NUM = [NUM str];             #add to another array
end


NUM = '10' '113A'

我确信有一种更有效的方法,但MATLAB和我可能永远不会有良好的条件。有时候快速而肮脏就足够了!

干杯, S: - )