matlabFunctionGydF4y2Ba

将符号表达式转换为函数句柄或文件GydF4y2Ba

描述GydF4y2Ba

例GydF4y2Ba

GGydF4y2Ba= matlabFunction(GydF4y2BaFGydF4y2Ba)GydF4y2Ba转换符号表达或功能GydF4y2BaFGydF4y2Ba到MATLABGydF4y2Ba®GydF4y2Ba带手柄功能GydF4y2BaGGydF4y2Ba。转换的功能,可以在不符号数学工具箱™使用。GydF4y2Ba

例GydF4y2Ba

GGydF4y2Ba= matlabFunction(GydF4y2Baf1,…, fNGydF4y2Ba)GydF4y2Ba转换GydF4y2Baf1,…, fNGydF4y2Ba同一个功能的MATLABGydF4y2BañGydF4y2Ba输出。函数句柄为GydF4y2BaGGydF4y2Ba。中的每个元素GydF4y2Baf1,…, fNGydF4y2Ba可以是符号表达式、函数或符号表达式或函数的向量。GydF4y2Ba

例GydF4y2Ba

GGydF4y2Ba= matlabFunction(GydF4y2Ba___GydF4y2Ba,GydF4y2Ba名称,值GydF4y2Ba)GydF4y2Ba使用由一个或多个指定的附加选项GydF4y2Ba名称,值GydF4y2Ba对参数。您可以指定GydF4y2Ba名称,值GydF4y2Ba后在前面的语法使用的输入参数。GydF4y2Ba

例子GydF4y2Ba

全部收缩GydF4y2Ba

转换的象征性表达GydF4y2Ba[RGydF4y2Ba与手柄功能的MATLABGydF4y2BaH TGydF4y2Ba。所转换的函数可以在没有符号数学工具箱可以使用。GydF4y2Ba

SYMS X Y R = SQRT(X ^ 2 + Y ^ 2);HT = matlabFunction(r)的GydF4y2Ba
HT = function_handle与值:@(X,Y)SQRT(。的x ^ 2 + Y ^ 2)。GydF4y2Ba

转换为使用逗号分隔输入多符号表达式。GydF4y2Ba

HT = matlabFunction(R,R ^ 2)GydF4y2Ba
HT = function_handle与值:@(X,Y)的交易(SQRT(X ^ 2 + Y ^ 2)中,x ^ 2 + Y ^ 2。。。。)GydF4y2Ba

创建一个符号函数,并用句柄将其转换为MATLAB函数GydF4y2BaH TGydF4y2Ba。GydF4y2Ba

syms x y f(x,y) = x^3 + y^3;ht = matlabFunction (f)GydF4y2Ba
HT = function_handle与值:@(X,Y)的x ^ 3 + Y ^ 3。GydF4y2Ba

将生成的MATLAB函数通过指定GydF4y2Ba文件GydF4y2Ba选项。将覆盖现有文件。当写入一个文件,GydF4y2BamatlabFunctionGydF4y2Ba使用命名的中间变量优化代码GydF4y2Bat0GydF4y2Ba,GydF4y2Bat1GydF4y2Ba,....方法在文件中包含注释GydF4y2Ba评论GydF4y2Ba选项。GydF4y2Ba

写从产生的MATLAB功能GydF4y2BaFGydF4y2Ba到文件GydF4y2BamyfileGydF4y2Ba。GydF4y2Ba

SYMS X F = X ^ 2 +日志(X ^ 2);matlabFunction(F, '文件', 'MYFILE');GydF4y2Ba
函数f = myfile(x) % myfile % f = myfile(x) %这个函数是由符号数学工具箱8.4版生成的。% 01-Sep-2019 00:00:00 t2 = x.^2;f = t2 +日志(t2);GydF4y2Ba

包括发表评论GydF4y2Ba版本:1.1GydF4y2Ba在文件。GydF4y2Ba

matlabFunction(F, '文件', 'MYFILE', '评论', '版本:1.1')GydF4y2Ba
函数f = myfile(x)…%版本:1.1 t2 = x.^2;…GydF4y2Ba

当您将符号表达的MATLAB功能和产生的功能写入一个文件,GydF4y2BamatlabFunctionGydF4y2Ba优化默认的代码。这种方法可以帮助简化并加快使用该文件进一步计算。然而,从一些符号表达式和函数生成所述优化的代码可以是耗时的。采用GydF4y2Ba优化GydF4y2Ba要禁止代码优化。GydF4y2Ba

创建一个象征性的表达。GydF4y2Ba

SYMS X R = X ^ 2 *(X ^ 2 + 1);GydF4y2Ba

转换GydF4y2Ba[RGydF4y2Ba用MATLAB编写一个函数并将函数写入文件GydF4y2BamyfileGydF4y2Ba。默认,GydF4y2BamatlabFunctionGydF4y2Ba创建包含优化代码的文件。GydF4y2Ba

F = matlabFunction(R, '文件', 'MYFILE');GydF4y2Ba
函数r = myfile(x) % myfile % r = myfile(x) t2 = x.^2;r = t2。* (t2 + 1.0);GydF4y2Ba

通过设定的值,禁用代码优化GydF4y2Ba优化GydF4y2Ba来GydF4y2Ba假GydF4y2Ba。GydF4y2Ba

F = matlabFunction(R, '文件', 'MYFILE', '优化',假);GydF4y2Ba
函数R = MYFILE(X)%MYFILE%R = MYFILE(X)R = X ^ 2 *(X ^ 2 + 1.0)。。GydF4y2Ba

当你把一个符号矩阵转换成MATLAB函数时,GydF4y2BamatlabFunctionGydF4y2Ba默认情况下,用稠密矩阵表示。如果输入符号矩阵的大部分元素都是零,更有效的方法是用稀疏矩阵表示它。GydF4y2Ba

创建一个3×3的符号对角矩阵。GydF4y2Ba

SYMS X A = DIAG(X *也是(1,3))GydF4y2Ba
A = [x, 0,0] [0, x, 0] [0, 0, x]GydF4y2Ba

转换GydF4y2Ba一个GydF4y2Ba到MATLAB函数表示的数值矩阵,并且将结果写入文件GydF4y2Bamyfile1GydF4y2Ba。默认情况下,生成的MATLAB函数创建密集的数字矩阵,指定矩阵的每个元素,包括所有零元素。GydF4y2Ba

F1 = matlabFunction(A, '文件', 'myfile1');GydF4y2Ba
函数A = myfile1(X)%MYFILE1%A = MYFILE1(X)A =重塑([X,0.0,0.0,0.0,X,0.0,0.0,0.0,x]中,[3,3]);GydF4y2Ba

转换GydF4y2Ba一个GydF4y2Ba通过设定一个功能的MATLABGydF4y2Ba疏GydF4y2Ba来GydF4y2Ba真正GydF4y2Ba。现在,所产生的MATLAB函数创建稀疏数字矩阵指定只有非零元素并假设所有其他元素是零。GydF4y2Ba

f2 = matlabFunction(‘文件’,‘myfile2’,‘稀疏’,真的);GydF4y2Ba
函数= myfile2 (x) % myfile2 % = myfile2 (x) =稀疏([1,2,3],[1,2,3],[x, x, x], 3, 3);GydF4y2Ba

当表达式转换为MATLAB函数,可以指定所得到的函数的输入参数的顺序。您还可以指定一些输入参数是向量,而不是单个变量。GydF4y2Ba

创建一个象征性的表达。GydF4y2Ba

syms x y z r = x + y/2 + z/3;GydF4y2Ba

转换GydF4y2Ba[RGydF4y2Ba一个MATLAB函数,并把这个函数写进文件中GydF4y2BamyfileGydF4y2Ba。默认,GydF4y2BamatlabFunctionGydF4y2Ba在转换符号表达式时使用输入参数的字母顺序。GydF4y2Ba

matlabFunction(R, '文件', 'MYFILE');GydF4y2Ba
。函数r = MYFILE(X,Y,Z)%MYFILE%R = MYFILE(X,Y,Z)R = X + Y / 2.0 + Z / 3.0。GydF4y2Ba

使用GydF4y2BavarGydF4y2Ba参数指定生成的MATLAB函数的输入参数的顺序。GydF4y2Ba

matlabFunction (r,‘文件’,‘myfile’,“var”, [y z x]);GydF4y2Ba
函数r = myfile(y,z,x) % myfile % r = myfile(y,z,x) r = x+y./2.0+z./3.0;GydF4y2Ba

现在,转换表达式GydF4y2Ba[RGydF4y2Ba到MATLAB函数,它的第二个输入参数是矢量。GydF4y2Ba

SYMS arrow-吨R =(X + Y / 2 + Z / 3)* EXP(-t);matlabFunction(R, '文件', 'MYFILE', '瓦尔',{T,[X Y Z]});GydF4y2Ba
函数r = myfile(t,in2) % myfile % r = myfile(t,in2) x = in2(:,1);y = in2 (:, 2);z = in2 (:, 3);r = exp (- t)。* (x + y / 2.0 + z / 3.0);GydF4y2Ba

当转换一个象征性的表达到MATLAB功能,您可以指定输出变量的名称。注意GydF4y2BamatlabFunctionGydF4y2Ba没有GydF4y2Ba文件GydF4y2Ba参数(或通过一个空字符向量指定的文件路径)创建一个功能句柄并忽略GydF4y2Ba输出GydF4y2Ba旗。GydF4y2Ba

创建符号表达式GydF4y2Ba[RGydF4y2Ba和GydF4y2BaqGydF4y2Ba。GydF4y2Ba

syms x y z r = x^2 + y^2 + z^2;q = x^2 - y^2 - z^2;GydF4y2Ba

转换GydF4y2Ba[RGydF4y2Ba和GydF4y2BaqGydF4y2Ba到MATLAB函数编写结果函数到一个文件GydF4y2BamyfileGydF4y2Ba,它返回两个元素的向量,GydF4y2Ba名1GydF4y2Ba和GydF4y2BaNAME2GydF4y2Ba。GydF4y2Ba

f = matlabFunction (r, q,‘文件’,‘myfile’,……“输出”,{‘name1’,‘name2});GydF4y2Ba
函数[name1,name2] = myfile(x,y,z) % myfile % [name1,name2] = myfile(x,y,z) t2 = x.^2;t3 = y ^ 2;t4 = z。^ 2;name1 = t2 + t3 + t4;如果nargout > 1 name2 = t2-t3-t4;结束GydF4y2Ba

输入参数GydF4y2Ba

全部收缩GydF4y2Ba

符号输入转换为一个MATLAB函数,指定为一个符号表达,功能,载体,或矩阵。当转换稀疏符号矢量或矩阵,使用的名称 - 值对参数GydF4y2Ba‘稀疏’,真的GydF4y2Ba。GydF4y2Ba

符号输入转换为MATLAB函数与GydF4y2BañGydF4y2Ba输出,指定为若干符号表达式、函数、向量或矩阵,用逗号分隔。GydF4y2Ba

matlabFunctionGydF4y2Ba不会创建一个符号向量或矩阵的每个元素的单独的输出参数。例如,GydF4y2Bag = matlabFunction([x + 1, y + 1])GydF4y2Ba创建一个输出参数一个MATLAB函数,而GydF4y2Bag = matlabFunction(x + 1, y + 1)GydF4y2Ba创建一个带有两个输出参数的MATLAB函数。GydF4y2Ba

名称 - 值对参数GydF4y2Ba

指定可选的用逗号分隔的对GydF4y2Ba名称,值GydF4y2Ba参数。GydF4y2Ba的名字GydF4y2Ba是参数的名称和GydF4y2Ba值GydF4y2Ba是对应的值。GydF4y2Ba的名字GydF4y2Ba必须出现引号内。您可以按照任何顺序指定多个名称和值对参数GydF4y2Ba名1,值1,...,NameN,值NGydF4y2Ba。GydF4y2Ba

例:GydF4y2BamatlabFunction(F, '文件', 'MYFILE', '优化',FALSE)GydF4y2Ba

注释包括在文件头中,指定为字符向量,特征向量的单元阵列,或串矢量。GydF4y2Ba

路径包含所生成的MATLAB函数,指定为字符向量的文件。所生成的函数接受类型的参数GydF4y2Ba双GydF4y2Ba,并且可以在不符号数学工具箱中。如果GydF4y2Ba文件GydF4y2Ba是空的,GydF4y2BamatlabFunctionGydF4y2Ba产生一个匿名函数。如果GydF4y2Ba文件GydF4y2Ba并不以GydF4y2Ba00GydF4y2Ba,功能追加GydF4y2Ba00GydF4y2Ba。GydF4y2Ba

当写入一个文件,GydF4y2BamatlabFunctionGydF4y2Ba使用命名的中间变量优化代码GydF4y2Bat0GydF4y2Ba,GydF4y2Bat1GydF4y2Ba....禁用代码优化,使用GydF4y2Ba优化GydF4y2Ba论点。GydF4y2Ba

看到GydF4y2Ba写功能的MATLAB与注释文件GydF4y2Ba。GydF4y2Ba

旗防止写入功能的文件代码的优化,指定为GydF4y2Ba假GydF4y2Ba或GydF4y2Ba真正GydF4y2Ba。GydF4y2Ba

当写入一个文件,GydF4y2BaCCODEGydF4y2Ba使用命名的中间变量优化代码GydF4y2Bat0GydF4y2Ba,GydF4y2Bat1GydF4y2Ba,....GydF4y2Ba

matlabFunctionGydF4y2Ba没有GydF4y2Ba文件GydF4y2Ba参数(或使用由空字符向量指定的文件路径)创建函数句柄。在这种情况下,代码没有优化。如果您试图通过设置强制执行代码优化GydF4y2Ba优化GydF4y2Ba来GydF4y2Ba真正GydF4y2Ba, 然后GydF4y2BamatlabFunctionGydF4y2Ba抛出一个错误。GydF4y2Ba

看到GydF4y2Ba禁用代码优化GydF4y2Ba。GydF4y2Ba

在稀疏和稠密矩阵生成之间切换的标志,指定为GydF4y2Ba真正GydF4y2Ba或GydF4y2Ba假GydF4y2Ba。当您指定GydF4y2Ba‘稀疏’,真的GydF4y2Ba,所产生的MATLAB函数表示由稀疏数字矩阵符号矩阵。采用GydF4y2Ba‘稀疏’,真的GydF4y2Ba当您转换包含许多零个元素符号矩阵。通常情况下,在稀疏矩阵操作比在密集矩阵相同的操作更有效率。GydF4y2Ba

看到GydF4y2Ba生成稀疏矩阵GydF4y2Ba。GydF4y2Ba

在生成的MATLAB函数的输入变量或矢量,指定为字符矢量,符号变量的矢量,或字符向量,符号变量,或符号变量的矢量的一维单元阵列的顺序。GydF4y2Ba

指定的输入变量的数量必须等于或超过在自由变量的数量GydF4y2BaFGydF4y2Ba。不要使用相同的名称由指定的输入变量GydF4y2BavarGydF4y2Ba并通过指定的输出变量GydF4y2Ba输出GydF4y2Ba。GydF4y2Ba

默认情况下,当您将符号表达式,顺序是按字母顺序排列。当您将符号函数,其输入参数出现在其他变量的前面,以及所有其它变量按字母顺序排序。GydF4y2Ba

看到GydF4y2Ba指定所生成函数输入参数GydF4y2Ba。GydF4y2Ba

输出变量,指定为字符向量的一维单元阵列的名称。GydF4y2Ba

如果不指定输出变量名,然后他们跟你打电话时使用的名称一致GydF4y2BamatlabFunctionGydF4y2Ba。如果你打电话GydF4y2BamatlabFunctionGydF4y2Ba使用表达式而不是单独的变量,输出变量的默认名称由单词组成GydF4y2Ba出GydF4y2Ba例如,后面跟一个数字,GydF4y2Baout3GydF4y2Ba。GydF4y2Ba

不要使用相同的名称由指定的输入变量GydF4y2BavarGydF4y2Ba并通过指定的输出变量GydF4y2Ba输出GydF4y2Ba。GydF4y2Ba

matlabFunctionGydF4y2Ba没有GydF4y2Ba文件GydF4y2Ba参数(或使用由空字符向量指定的文件路径)创建函数句柄。在这种情况下,GydF4y2BamatlabFunctionGydF4y2Ba忽略GydF4y2Ba输出GydF4y2Ba旗。GydF4y2Ba

看到GydF4y2Ba指定输出变量GydF4y2Ba。GydF4y2Ba

输出参数GydF4y2Ba

全部收缩GydF4y2Ba

功能句柄,可以作为一个输入参数数值函数,返回为MATLAB函数句柄。GydF4y2Ba

提示GydF4y2Ba

  • 当您使用GydF4y2Ba文件GydF4y2Ba参数,使用GydF4y2Ba老调重弹GydF4y2Ba立即作出生成的函数。GydF4y2Ba老调重弹GydF4y2Ba更新搜索路径上目录的MATLAB已知文件列表。GydF4y2Ba

  • 如果GydF4y2Ba文件GydF4y2Ba选项为空,然后返回一个匿名函数。GydF4y2Ba

介绍了在R2008bGydF4y2Ba