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

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

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

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

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

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

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

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

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

Табличные переменные должны иметь один из этих типов данных:

  • числовой

  • текст, в массиве ячеек из символьных векторов

  • logical

  • duration

  • categorical

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

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

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

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

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

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

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

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

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

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

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

Чтобы индексировать при помощи переменной или имен строки, сначала сделайте входные таблицы постоянными при помощи coder.Constant функция.

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

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

  • Довольный индексация с фигурными скобками, {}.

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

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

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

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

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

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

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

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

Похожие темы