Можно создать фрагменты кода C или Fortran из символьного выражения или создать файлы, содержащие фрагменты кода, используя ccode и fortran функции. Эти фрагменты кода вычисляют числовые значения, как если бы подставляли числа переменным в символьном выражении.
Создание кода из символьного выражения g, введите либо ccode(g) или fortran(g).
Например:
syms x y z = 30*x^4/(x*y^2 + 10) - x^3*(y^2 + 1)^2; fortran(z)
ans =
' t0 = (x**4*3.0D+1)/(x*y**2+1.0D+1)-x**3*(y**2+1.0D0)**2'
ccode(z)
ans =
' t0 = ((x*x*x*x)*3.0E+1)/(x*(y*y)+1.0E+1)-(x*x*x)*pow(y*y+1.0,2.0);'
Для создания файла, содержащего код, введите ccode(g,'file',' или filename')fortran(g,'file','. Для приведенного выше примера:filename')
fortran(z, 'file', 'fortrantest')
создает файл с именем fortrantest в текущей папке. fortrantest состоит из:
t2 = y**2
t0 = (x**4*3.0D+1)/(t2*x+1.0D+1)-x**3*(t2+1.0D0)**2
Аналогично, команда
ccode(z,'file','ccodetest')
создает файл с именем ccodetest который состоит из строк
t2 = y*y; t0 = ((x*x*x*x)*3.0E+1)/(t2*x+1.0E+1)-(x*x*x)*pow(t2+1.0,2.0);
ccode и fortran генерировать множество промежуточных переменных. Это называется оптимизированным кодом. MATLAB ® генерирует промежуточные переменные в виде строчной буквыt за которым следует автоматически сгенерированный номер, например, t2. Промежуточные переменные могут повысить эффективность результирующего кода за счет повторного использования промежуточных выражений (например, t2 в fortrantest и ccodetest). Они также могут облегчить чтение кода, сохраняя короткие выражения.