我有一个MATLAB矩阵,即1000x4,用作函数的输入。我需要添加一个包含特定字符串的新列。那么如何创建一个新列,其中所有值都是'TEST'?
答案 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'};