Вы можете установить пустой набор данных, например,
data = dataset({[], 'Name'}, {[], 'City'}, {[], 'number'});
или
data = dataset([], [], [], 'VarNames', {'Name', 'City', 'number'});
Оба дадут вам:
>> data
data =
[empty 0-by-3 dataset]
Но мы можем видеть, что имена столбцов устанавливаются проверкой
>> get(data, 'VarNames')
ans =
'Name' 'City' 'number'
Теперь мы можем добавить строки в набор данных:
>> data = [data; dataset({'John'}, {'Amsterdam'}, 10, 'VarNames', get(data, 'VarNames'))]
data =
Name City number
'John' 'Amsterdam' 10
У вас была основная идея, но вам просто нужно было поместить ваши строковые данные в ячейки. Эта замена для вашей первой строки работает:
>> dmsdb = dataset({ {'John'},'Name'},{{'Amsterdam'},'City'},{10,'number' });
dmsdb =
Name City number
'John' 'Amsterdam' 10
Встроенная справка для dataset()
на самом деле очень хороша для описания деталей этих и других способов построения наборов данных. Также ознакомьтесь с онлайн-документацией с примерами по адресу:
http://www.mathworks.com/help/toolbox/stats/dataset.html
В одном из блогов Mathworks есть приятная запись:
http://blogs.mathworks.com/loren/2009/05/20/from-struct-to-dataset/
Удачи!