您可以使用符号表达式生成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