2

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 を作成する方法がわかりません。

誰かが私を助けてくれるほど親切でしょうか?

4

1 に答える 1

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])
于 2011-04-28T00:08:32.003 に答える