在MATLAB中,如何将矩阵的所有值设置为字符串?

时间:2010-06-04 15:42:02

标签: matlab matrix

我有一个MATLAB矩阵,即1000x4,用作函数的输入。我需要添加一个包含特定字符串的新列。那么如何创建一个新列,其中所有值都是'TEST'?

3 个答案:

答案 0 :(得分:3)

由于有点不清楚你想要什么,这里有一些选择:

  • 要制作每行为'TEST'的1000 x 4矩阵,您可以使用REPMAT函数:

    M = repmat('TEST',1000,1);
    
  • 要将'TEST'添加到1000 x 4字符矩阵的每一行的末尾,您可以使用函数STRCAT

    M = repmat('a',1000,4);  %# Sample matrix filled with 'a'
    M = strcat(M,'TEST');    %# Append 'TEST' to each row of M
    
  • 如果您的1000 x 4矩阵是数字数组而不是字符数组,则必须使用cell arrays来组合不同类型的数据。这是你可以做到这一点的一种方式:

    M = rand(1000,4);   %# A matrix of random numeric values
    M = num2cell(M,2);  %# Put each row of M in a cell, making
                        %#   a 1000-by-1 cell array
    M(:,2) = {'TEST'};  %# Add a second column to the cell array,
                        %#   where each cell contains 'TEST'
    

答案 1 :(得分:0)

矩阵不能包含字符串(如'TEST')。 您需要使用cell array

答案 2 :(得分:0)

如果这是单元格字符串的现有矩阵M

M(:,end+1) = {'TEST'};