Matlab 将字符串添加到一列,将数字添加到另一列

Matlab 将字符串添加到一列,将数字添加到另一列,matlab,matrix,Matlab,Matrix,我需要一个矩阵,在matlab中,数字在一列,字符串在另一列 a = [ 1 'cancer' 2 'cancer' 3 'cancer' 4 'noncancer' 5 'noncancer' ] 我无法向数组中添加字符串。您可以使用单元格数组。为此,只需将方括号替换为花括号: a = { 1 'cancer' 2 'cancer' 3 'cancer' 4 'noncancer' 5 'nonc

我需要一个矩阵,在matlab中,数字在一列,字符串在另一列

a = [ 1 'cancer'
      2 'cancer'
      3 'cancer'
      4 'noncancer'
      5 'noncancer' ]

我无法向数组中添加字符串。

您可以使用单元格数组。为此,只需将方括号替换为花括号:

a = { 1 'cancer'
      2 'cancer'
      3 'cancer'
      4 'noncancer'
      5 'noncancer' }
这导致

a = 

    [1]    'cancer'   
    [2]    'cancer'   
    [3]    'cancer'   
    [4]    'noncancer'
    [5]    'noncancer'

可以使用单元格数组。为此,只需将方括号替换为花括号:

a = { 1 'cancer'
      2 'cancer'
      3 'cancer'
      4 'noncancer'
      5 'noncancer' }
这导致

a = 

    [1]    'cancer'   
    [2]    'cancer'   
    [3]    'cancer'   
    [4]    'noncancer'
    [5]    'noncancer'

您需要使用的不是数组,而是数据结构


您需要使用的不是数组,而是数据结构


我用回路得到了答案

clc;clear all;close all;

count = 0
for i = 1 : 5
    count = count + 1;
    a{i,1} = count;
end



for i=1:3
    a{i,2} = ['cancer'];
end
for i=4:5
    a{i,2} = ['noncancer'];
end

我用回路得到了答案

clc;clear all;close all;

count = 0
for i = 1 : 5
    count = count + 1;
    a{i,1} = count;
end



for i=1:3
    a{i,2} = ['cancer'];
end
for i=4:5
    a{i,2} = ['noncancer'];
end

这很有效。如何处理150个数据。是否可以使用for循环来执行此操作。如上所述,我必须手动键入150个数据。这取决于数据的外观。我想你有一个带数字的向量和一个带字符串的向量?谢谢你提供的信息。现在我用一个细胞结构的for循环得到了它。如何处理150个数据。是否可以使用for循环来执行此操作。如上所述,我必须手动键入150个数据。这取决于数据的外观。我想你有一个带数字的向量和一个带字符串的向量?谢谢你提供的信息。现在我得到了一个带有循环结构的for循环。考虑在您的初始化之前预先为单元数组分配内存,这将以以下方式完成:A= CELL5,2;这避免了动态分配,这会大大降低大型阵列的执行速度。@EitanT谢谢。我会把它用在我的大数组中,它有150个数据。考虑在你的情况下在初始化之前预先分配你的单元数组的内存,这将按照下面的方式完成:A= CELL5,2;这避免了动态分配,这会大大降低大型阵列的执行速度。@EitanT谢谢。我会将它用于我的大型阵列,它有150个数据。