Преобразовать массив структуры в таблицу
создает таблицу из массива структуры, T = struct2table(S,Name,Value)S, с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары.
Например, можно указать имена строк для включения в таблицу.
Преобразование скалярной структуры в таблицу с помощью опций по умолчанию.
Создание структурного массива, S.
S.Name = {'CLARK';'BROWN';'MARTIN'};
S.Gender = {'M';'F';'M'};
S.SystolicBP = [124;122;130];
S.DiastolicBP = [93;80;92];
SS = struct with fields:
Name: {3x1 cell}
Gender: {3x1 cell}
SystolicBP: [3x1 double]
DiastolicBP: [3x1 double]
Скалярная структура, S, имеет четыре поля, каждое с тремя строками.
Преобразование массива структуры в таблицу.
T = struct2table(S)
T=3×4 table
Name Gender SystolicBP DiastolicBP
__________ ______ __________ ___________
{'CLARK' } {'M'} 124 93
{'BROWN' } {'F'} 122 80
{'MARTIN'} {'M'} 130 92
Имена полей структуры в S становятся именами переменных в выходной таблице. Размер T 3 на 4.
Изменение Name от переменной к именам строк путем изменения свойства таблицы, T.Properties.RowNames, а затем удаление переменной Name.
T.Properties.RowNames = T.Name; T.Name = []; T
T=3×3 table
Gender SystolicBP DiastolicBP
______ __________ ___________
CLARK {'M'} 124 93
BROWN {'F'} 122 80
MARTIN {'M'} 130 92
Создайте нескалярный структурный массив, S.
S(1,1).Name = 'CLARK'; S(1,1).Gender = 'M'; S(1,1).SystolicBP = 124; S(1,1).DiastolicBP = 93; S(2,1).Name = 'BROWN'; S(2,1).Gender = 'F'; S(2,1).SystolicBP = 122; S(2,1).DiastolicBP = 80; S(3,1).Name = 'MARTIN'; S(3,1).Gender = 'M'; S(3,1).SystolicBP = 130; S(3,1).DiastolicBP = 92; S
S=3×1 struct array with fields:
Name
Gender
SystolicBP
DiastolicBP
S является массивом структуры 3 на 1 с четырьмя полями.
Преобразование массива структуры в таблицу.
T = struct2table(S)
T=3×4 table
Name Gender SystolicBP DiastolicBP
__________ ______ __________ ___________
{'CLARK' } {'M'} 124 93
{'BROWN' } {'F'} 122 80
{'MARTIN'} {'M'} 130 92
Имена полей структуры в S становятся именами переменных в выходной таблице. Размер T 3 на 4.
Использовать 'AsArray',true для создания таблицы из скалярной структуры, поля которой имеют разное количество строк.
Создайте скалярную структуру, S, с полями name, billing, и test.
S.name = 'John Doe';
S.billing = 127.00;
S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
SS = struct with fields:
name: 'John Doe'
billing: 127
test: [3x3 double]
Поля имеют разное количество строк. Поэтому нельзя использовать struct2table(S), которая использует 'AsArray',false по умолчанию.
Рассматривайте скалярную структуру как массив и преобразуйте ее в таблицу.
T = struct2table(S,'AsArray',true)T=1×3 table
name billing test
____________ _______ ____________
{'John Doe'} 127 {3x3 double}
T содержит одну строку.
S - Структурный массивМассив структуры, заданный как массив скалярной структуры.
Если S является скалярной структурой с n поля, все из которых имеют m строки, затем T является mоколо-n таблица.
Если S является нескаляром mоколо-1 структурный массив с n поля, затем T является mоколо-n таблица.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'RowNames',{'row1','row2','row3'} использует имена строк, row1, row2, и row3 для таблицы, T.'RowNames' - Имена строк{} (по умолчанию) | массив ячеек символьных векторов | строковый массивИмена строк, указанные как пара, разделенная запятыми, состоящая из 'RowNames' и клеточный массив символьных векторов или строковый массив, элементы которого являются непустыми и различимыми.
Имена строк могут содержать любые символы Юникода ®, включая пробелы и символы, не относящиеся к ASCII.
Если указаны имена строк, которые содержат начальные или конечные пробелы, то struct2table удаляет их из имен строк.
'DimensionNames' - Имена измеренийС R2021a г.
Имена измерений, определяемые как двухэлементный массив ячеек символьных векторов или двухэлементный строковый массив, элементы которого являются непустыми и различными.
Имена измерений могут содержать любые символы Юникода, включая пробелы и символы, не относящиеся к ASCII.
Перед R2021a можно указать имена размеров, только задав DimensionNames свойство вывода.
'AsArray' - Индикатор обработки скалярной структурыfalse (по умолчанию) | true | 0 | 1Индикатор обработки скалярной структуры, указанной как разделенная запятыми пара, состоящая из 'AsArray' и либо false, true, 0, или 1.
|
|
|
|
T - Выходная таблицаВыходная таблица, возвращенная как таблица. В таблице могут храниться такие метаданные, как описания, единицы измерения переменных, имена переменных и имена строк. Дополнительные сведения см. в разделе «Свойства» table.
Примечания и ограничения по использованию:
Дополнительные сведения см. в разделах Генерация кода для таблиц (кодер MATLAB) и Ограничения таблицы для генерации кода (кодер MATLAB).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.