ccode

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

Синтаксис

ccode(f)
ccode(f,Name,Value)

Описание

пример

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 оптимизирует код при помощи промежуточных переменных под названием t0, t1, и так далее.

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

| |

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