主要内容gydF4y2Ba

从符号表达式生成C或Fortran代码gydF4y2Ba

可以使用符号表达式生成C或Fortran代码片段,或者生成包含代码片段的文件gydF4y2BaccodegydF4y2Ba和gydF4y2BafortrangydF4y2Ba功能。这些代码片段计算数值,就像用数字替换符号表达式中的变量一样。gydF4y2Ba

从符号表达式生成代码gydF4y2BaggydF4y2Ba,输入gydF4y2Baccode (g)gydF4y2Ba或gydF4y2Bafortran (g)gydF4y2Ba.gydF4y2Ba

例如:gydF4y2Ba

信谊x y z = 30 * x ^ 4 / (x * y ^ 2 + 10) - x ^ 3 * (y ^ 2 + 1) ^ 2;fortran (z)gydF4y2Ba
ans = ' t0 = (x * * 4 * 3.0 d + 1) / (x * y * * 2 + 1.0 d + 1) - x * * 3 * (d0 y * * 2 + 1.0) * * 2》gydF4y2Ba
ccode (z)gydF4y2Ba
ans = ' t0 = ((x * x * * x) * 3.0 e + 1) / (1.0 x * (* y) + e + 1)——(x * * x) *战俘(y * y + 1.0, 2.0);“gydF4y2Ba

要生成包含代码的文件,输入gydF4y2Baccode (g,“文件”,“gydF4y2Ba文件名gydF4y2Ba')gydF4y2Ba或gydF4y2Bafortran (g,“文件”,“gydF4y2Ba文件名gydF4y2Ba')gydF4y2Ba.对于上面的例子,gydF4y2Ba

fortran (z,“文件”,“fortrantest”)gydF4y2Ba

生成一个名为gydF4y2BafortrantestgydF4y2Ba在当前文件夹中。gydF4y2BafortrantestgydF4y2Ba包括以下内容:gydF4y2Ba

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

同样,命令gydF4y2Ba

ccode (z,“文件”,“ccodetest”)gydF4y2Ba

生成一个名为gydF4y2BaccodetestgydF4y2Ba它由线条组成gydF4y2Ba

t2 = y * y;t0 = ((x * x * * x) * 3.0 e + 1) / (t2 * x + 1.0 e + 1)——(x * * x) *战俘(t2 + 1.0, 2.0);gydF4y2Ba

ccodegydF4y2Ba和gydF4y2BafortrangydF4y2Ba生成许多中间变量。这就是所谓的gydF4y2Ba优化gydF4y2Ba代码。MATLABgydF4y2Ba®gydF4y2Ba用小写字母生成中间变量gydF4y2BatgydF4y2Ba后面跟着一个自动生成的数字,例如gydF4y2Bat2gydF4y2Ba.中间变量可以通过重用中间表达式(例如gydF4y2Bat2gydF4y2Ba在gydF4y2BafortrantestgydF4y2Ba和gydF4y2BaccodetestgydF4y2Ba).它们还可以通过保持表达式简短使代码更容易阅读。gydF4y2Ba