从符号表达式生成C或FORTRAN代码GydF4y2Ba

您可以使用符号表达式生成C或Fortran代码片段,或使用包含代码片段的文件GydF4y2BaCCODE.GydF4y2Ba和GydF4y2BaFortran.GydF4y2Ba功能。这些代码片段计算数值,如符号表达式中的变量代替数字值。GydF4y2Ba

从符号表达式生成代码GydF4y2BaGGydF4y2Ba,输入任一个GydF4y2BaCcode(g)GydF4y2Ba或者GydF4y2BaFortran(g)GydF4y2Ba。GydF4y2Ba

例如:GydF4y2Ba

Syms x y z = 30 * x ^ 4 /(x * y ^ 2 + 10) -  x ^ 3 *(y ^ 2 + 1)^ 2;Fortran(z)GydF4y2Ba
ans ='t0 =(x ** 4 * 3.0d + 1)/(x * y ** 2 + 1.0d + 1)-x ** 3 *(y ** 2 + 1.0d0)** 2'GydF4y2Ba
ccode(z)GydF4y2Ba
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);'GydF4y2Ba

要生成包含代码的文件,请输入GydF4y2Baccode(g,'文件','GydF4y2Ba文件名GydF4y2Ba')GydF4y2Ba或者GydF4y2Bafortran(g,'文件','GydF4y2Ba文件名GydF4y2Ba')GydF4y2Ba。对于上面的例子,GydF4y2Ba

fortran(z,'文件','fortrantest')GydF4y2Ba

生成名为的文件GydF4y2Ba福特里GydF4y2Ba在当前文件夹中。GydF4y2Ba福特里GydF4y2Ba包括以下内容:GydF4y2Ba

t2 = y ** 2 t0 =(x ** 4 * 3.0d + 1)/(t2 * x + 1.0d + 1)-x ** 3 *(t2 + 1.0d0)** 2GydF4y2Ba

同样,命令GydF4y2Ba

ccode(z,'文件','ccodetest')GydF4y2Ba

生成名为的文件GydF4y2BaCCODETEST.GydF4y2Ba这包括线条GydF4y2Ba

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);GydF4y2Ba

CCODE.GydF4y2Ba和GydF4y2BaFortran.GydF4y2Ba生成许多​​中间变量。这就是所谓的GydF4y2Ba优化GydF4y2Ba代码。马铃薯GydF4y2Ba®GydF4y2Ba生成中间变量作为小写字母GydF4y2BaT.GydF4y2Ba然后是自动生成的数字,例如GydF4y2BaT2.GydF4y2Ba。中间变量可以通过重用中间表达式更有效地使结果代码(例如GydF4y2BaT2.GydF4y2Ba在GydF4y2Ba福特里GydF4y2Ba和GydF4y2BaCCODETEST.GydF4y2Ba)。它们还可以通过保持表达式简短来使代码更容易读取。GydF4y2Ba