我无法使用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。
有人会这么善意帮助我吗?
答案 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);
这应该给你一个整洁的表,看起来像这样
修改强>
要回答下面的评论,如果您正在按照示例中的单元格和数组创建数据集,则可以直接将两者合并到单元格中
dataCell=[names,num2cell(ages)];
并按上述步骤操作。如果您已将d1
作为数据集,可能不是由您创建的,那么您可以从中创建uitable
uitable('Data',[d1.Name,d1.Age])