将数字矩阵与字符串数组合在一起

时间:2013-04-23 16:46:18

标签: string matlab matrix numbers

我正在尝试使用MatLAB以更聪明的方式计算下面的代码:

f=zeros(5,2) %Values irrelevant.
y = {'A1', 'B1'; 
     f(1,1) f(1,2); 
     f(2,1) f(2,2); 
     f(3,1) f(3,2); 
     f(4,1) f(4,2); 
     f(5,1) f(5,2)};  

我得到的是f矩阵,其中A1B1的文字高于两个向量。

我认为有一种更简单的方法来编写它,用于更复杂的目的,但我已经尝试了我能想到的括号,括号和大括号num2str的任意组合。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

最简单的解决方案是使用num2cell并将结果与​​字符串连接起来:

y = [{'A1', 'B1'}; num2cell(f)];

实施例

>> f = reshape(1:10, 2, [])';
>> y = [{'A1', 'B1'}; num2cell(f)]

y =
    'A1'    'B1'
    [ 1]    [ 2]
    [ 3]    [ 4]
    [ 5]    [ 6]
    [ 7]    [ 8]
    [ 9]    [10]