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

The 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 Toolbox, поддерживающие таблицы

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

Похожие темы