如何从 Matlab 中的元胞数组创建子元胞?
How to create a sub-cell from a cell array in Matlab?
假设我在 Matlab 中有以下元胞数组数据:
>> data = {'first', 1; 'second', 2; 'third', 3}
data =
'first' [1]
'second' [2]
'third' [3]
然后我想创建一个只有第一列数据的新元胞数组。我尝试了以下但只得到了 first
值。
>> column_1 = data{:,1}
column_1 =
first
但我想得到的输出是:
>> column_1 = {'first';'second';'third'}
column_1 =
'first'
'second'
'third'
如何从 data
元胞数组的第一列创建子元胞?
您必须使用圆括号索引而不是花括号索引,如下所示:
data(:,1)
输出:
ans =
3×1 cell array
'first'
'second'
'third'
基本上,花括号的目的是检索单元格的基础内容并呈现不同的行为。要提取单元格子集,您需要使用圆括号。更多详细信息,请参考 Matlab 官方文档this page。
假设我在 Matlab 中有以下元胞数组数据:
>> data = {'first', 1; 'second', 2; 'third', 3}
data =
'first' [1]
'second' [2]
'third' [3]
然后我想创建一个只有第一列数据的新元胞数组。我尝试了以下但只得到了 first
值。
>> column_1 = data{:,1}
column_1 =
first
但我想得到的输出是:
>> column_1 = {'first';'second';'third'}
column_1 =
'first'
'second'
'third'
如何从 data
元胞数组的第一列创建子元胞?
您必须使用圆括号索引而不是花括号索引,如下所示:
data(:,1)
输出:
ans =
3×1 cell array
'first'
'second'
'third'
基本上,花括号的目的是检索单元格的基础内容并呈现不同的行为。要提取单元格子集,您需要使用圆括号。更多详细信息,请参考 Matlab 官方文档this page。