Генерация кода для таблиц

table тип данных является типом данных, подходящим для ориентированных на столбец или табличных данных, который часто хранится как столбцы в текстовом файле или в электронной таблице. Таблицы состоят из строк и ориентированных на столбец переменных. Каждая переменная в таблице может иметь другой тип данных и различный размер с одним ограничением: каждая переменная должна иметь одинаковое число строк. Для получения дополнительной информации см. Таблицы.

Когда вы используете таблицы с генерацией кода, придерживаетесь этих ограничений.

Задайте таблицы для генерации кода

Для генерации кода используйте table функция. Например, предположите, что входные параметры к вашей функции MATLAB® являются тремя массивами, которые имеют одинаковое число строк и массив ячеек, который имеет имена переменных. Можно составить таблицу, которая содержит эти массивы как табличные переменные.

function T = foo(A,B,C,vnames) %#codegen
    T = table(A,B,C,'VariableNames',vnames);
end

Можно использовать array2table, cell2table, и struct2table функции, чтобы преобразовать массивы, массивы ячеек и структуры к таблицам. Например, можно преобразовать входной массив ячеек в таблицу.

function T = foo(C,vnames) %#codegen
    T = cell2table(C,'VariableNames',vnames);
end

Для генерации кода необходимо предоставить имена табличной переменной, когда вы составляете таблицу. Имена табличной переменной не должны быть допустимыми идентификаторами MATLAB. Имена должны состоять из символов ASCII, но могут включать любые символы ASCII (такие как запятые, тире и пробелы).

Позволенные операции на таблицах

Для генерации кода вы ограничиваетесь операциями на описанных ниже таблицах.

ОперацияПримерПримечания

оператор присваивания: =

T = table(A,B,C,'VariableNames',vnames);
T{:,1} = D;

Генерация кода не поддерживает использование оператора присваивания = к:

  • Удалите переменную или строку.

  • Добавьте переменную или строку.

индексация операции

T = table(A,B,C,'VariableNames',vnames);
T(1:5,1:3);

Индексация поддержек генерации кода положением, переменной или именем строки и логической индексацией.

Поддержки генерации кода:

  • Табличная индексация со сглаженными круглыми скобками, ().

  • Индексация данных списка фигурными скобками, {}.

  • Запись через точку, чтобы получить доступ к табличной переменной.

конкатенация

T1 = table(A,B,C,'VariableNames',vnames);
T2 = table(D,E,F,'VariableNames',vnames);
T = [T1 ; T2];

Генерация кода поддерживает табличную конкатенацию.

  • Для вертикальной конкатенации таблицы должны иметь переменные, которые имеют те же имена в том же порядке.

  • Для горизонтальной конкатенации таблицы должны иметь одинаковое число строк. Если таблицы имеют имена строки, то у них должны быть те же имена строки в том же порядке.

Функции тулбокса MATLAB та поддержка таблицы

Для генерации кода можно использовать таблицы с этими функциями тулбокса MATLAB:

Похожие темы