Matlab 从数据集创建uitable

Matlab 从数据集创建uitable,matlab,dataset,matlab-uitable,Matlab,Dataset,Matlab Uitable,我无法使用matlab中的uitable从数据集创建表,我需要帮助!问题是: 我创建了一个简单的数据集: names = {'John'; 'Henri'} ages = [26; 18]; d1 = dataset({names, 'Name'}, {ages, 'Age'}) 然后我试图用这些数据创建一个uitable,我写了这行 uitable('data',double(d1)) 但我收到了这个错误消息: ??? Error using ==> uitable Data mus

我无法使用matlab中的uitable从数据集创建表,我需要帮助!问题是:

我创建了一个简单的数据集:

names = {'John'; 'Henri'}
ages = [26; 18];
d1 = dataset({names, 'Name'}, {ages, 'Age'})
然后我试图用这些数据创建一个uitable,我写了这行

uitable('data',double(d1))
但我收到了这个错误消息:

??? Error using ==> uitable
Data must be a numeric, logical, or cell array

Error in ==> uitable at 56
        thandle = builtin('uitable', varargin{:});
所以我又试了一次

uitable('data',cellstr(d1))
但我有一个错误:

??? Error using ==> dataset.cellstr at 32
Error when converting 'Age' to cell array of strings.

Caused by:
    Error using ==> cellstr at 34
    Input must be a string.
我无法理解如何从同时包含数字和字符串项的数据集创建uitable


有人能帮我吗?

这些错误是因为您使用的计算机不正确。这里有一个简单的例子来说明如何做到这一点

dataCell={'John',26;'Henri',18};%# store data as a cell
colNames={'Name','Age'};%# names for each column of data

uitable('Data',dataCell,'ColumnName',colNames);
这应该给你一张整洁的桌子,看起来像这样

编辑

为了回答下面的评论,如果您像示例中那样从一个单元格和一个数组创建数据集,那么您可以直接将两者组合到一个单元格中

dataCell=[names,num2cell(ages)];
并按上述步骤进行。如果您已经将
d1
作为数据集,可能不是您创建的,那么您可以从中创建
uitable

uitable('Data',[d1.Name,d1.Age])

谢谢你的回答。您的建议很完美,但我有一个1255行的数据集数组,无法在单元格数组中进行转换。是否可以制作相同的东西,但将集合保留为数据集?谢谢