如何在MATLAB中连接向量和单元格?

时间:2013-02-05 15:36:44

标签: matlab

我有尺寸为5 X 3的矩阵F。例如:

 F= [1 12 13; 
    2 23 24; 
    3 34 35; 
    4 45 46;
    5 56 57]

我有一个大小为1X1的标签单元格,条目为“v”,即

>> label

     label = 

       'v'

和F的大小由下式给出:

>> [m n]=size(F)

     m=

      5

    n =

      3

我希望我的输出看起来像:

>> F

    F =

         1    12    13   v
         2    23    24   v
         3    34    35   v
         4    45    46   v
         5    56    57   v

如何将单元格与矩阵连接以获得此输出?

2 个答案:

答案 0 :(得分:4)

要创建包含数字和非数字数据的数组,您需要将所有内容放入单元格数组中(如果它不是单元格数组,请将label替换为{label}):

Fcell = [ num2cell(F), repmat(label,size(F,1),1)]

然后,您可以使用大括号访问单个数字/字母:

Fcell{2,2}

ans =
   23

答案 1 :(得分:0)

正如@Jonas所描述的那样,将其转换为单元格是您想要访问数据以供进一步使用的方法。 但是,如果您只是想在屏幕上看到数据并且不喜欢括号,那么这也是一个选项:

Fcell = [num2str(F) repmat([' ' label{1}],size(F,1),1)]

如果您的标签实际上是一个字符,它应该像这样工作:

Fcell = [num2str(F) repmat([' ' label],size(F,1),1)]