从数据集创建uitable

时间:2011-04-27 23:14:23

标签: matlab dataset matlab-uitable

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

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

names = {'John'; 'Henri'}
ages = [26; 18];
d1 = dataset({names, 'Name'}, {ages, 'Age'})

然后我试图用这些数据创建一个合适的,我写了这一行

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。

有人会这么善意帮助我吗?

1 个答案:

答案 0 :(得分:2)

错误是因为您错误地使用了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);

这应该给你一个整洁的表,看起来像这样

enter image description here

修改

要回答下面的评论,如果您正在按照示例中的单元格和数组创建数据集,则可以直接将两者合并到单元格中

dataCell=[names,num2cell(ages)];

并按上述步骤操作。如果您已将d1作为数据集,可能不是由您创建的,那么您可以从中创建uitable

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