ccode

Представление кода С символьного выражения

Синтаксис

Описание

пример

ccode(f) возвращает код С для символьного выражения f.

пример

ccode(f,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

Сгенерируйте код С от символьного выражения log(1+x).

syms x
f = log(1+x);
ccode(f)
ans =
    '  t0 = log(x+1.0);'

Сгенерируйте код С для 3х3 Гильбертовой матрицы.

H = sym(hilb(3));
ccode(H)
ans =
    '  H[0][0] = 1.0;
       H[0][1] = 1.0/2.0;
       H[0][2] = 1.0/3.0;
       H[1][0] = 1.0/2.0;
       H[1][1] = 1.0/3.0;
       H[1][2] = 1.0/4.0;
       H[2][0] = 1.0/3.0;
       H[2][1] = 1.0/4.0;
       H[2][2] = 1.0/5.0;'

Поскольку сгенерированный код C инициализирует только ненулевые элементы, можно эффективно инициализировать массивы путем установки всех элементов на 0 непосредственно в вашем коде С. Затем используйте сгенерированный код C, чтобы инициализировать только ненулевые элементы. Этот подход включает эффективную инициализацию матриц, особенно разреженные матрицы.

Инициализируйте 3х3 единичную матрицу. Сначала инициализируйте матрицу всем набором элементов к 0 в вашем коде С. Затем используйте сгенерированный код C, чтобы инициализировать ненулевые значения.

I3 = sym(eye(3));
I3code = ccode(I3)
I3code =
    '  I3[0][0] = 1.0;
       I3[1][1] = 1.0;
       I3[2][2] = 1.0;'

Запишите код С в файл ccodetest.c путем определения File опция. При записи в файл, ccode оптимизирует код при помощи промежуточных переменных под названием t0t1 , и так далее.

syms x
f = diff(tan(x));
ccode(f,'File','ccodetest.c')
  t0 = pow(tan(x),2.0)+1.0;

Включайте комментарий Version: 1.1 в файле при помощи Comments опция. ccode использование блокирует комментарии.

ccode(f,'File','ccodetest.c','Comments','Version: 1.1')
  /*
  Version: 1.1
  */
  t0 = pow(tan(x),2.0)+1.0;

Входные параметры

свернуть все

Символьный вход в виде символьного выражения.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: ccode(x^2,'File','ccode.c','Comments','V1.2')

Файл, чтобы записать в в виде вектора символов или строки. При записи в файл, ccode оптимизирует код при помощи промежуточных переменных под названием t0t1 , и так далее.

Комментарии, чтобы включать в заголовок файла в виде вектора символов, массива ячеек из символьных векторов или вектора строки. Поскольку ccode комментарии блока использования, комментарии не должны содержать /* или */.

Советы

  • Чтобы сгенерировать оптимизированный код C or C++ от символьного выражения, особенно для большого выражения, можно использовать MATLAB® Приложение Coder™ вместо того, чтобы использовать ccode функция. Таким образом, сгенерированный код лучше интегрирован в экосистему MATLAB. Во-первых, преобразуйте символьное выражение в развертываемое использование функции MATLAB matlabFunction. Затем сгенерируйте код C or C++ от функции MATLAB с помощью приложения MATLAB Coder. Для примера смотрите, Генерируют код С от Символьных выражений Используя Приложение MATLAB Coder.

Смотрите также

| |

Представлено до R2006a