主要内容

matlabfunctionblock.

将符号表达式转换为MATLAB功能块

描述

例子

matlabfunctionblock(F的)转换F到一个matlab.®可以在Simulink中使用的函数块金宝app®模型。在这里,F可以是符号表达式,函数或符号表达式或函数的向量。

指定您创建或修改的块的名称。

例子

matlabfunctionblock(f1,…,fN的)转换符号表达式或函数f1,…,fN一个MATLAB函数块用N.输出。的每个元素f1,…,fN可以是符号表达式,函数或符号表达式或函数的向量。

例子

matlabfunctionblock(___名称,值的)使用一个或多个指定的其他选项将符号表达式,函数或函数的符号表达式,函数或函数的向量转换为MATLAB功能块名称,值对参数。您可以指定名称,值在上一个语法中使用的输入参数后。

例子

全部折叠

创建一个新模型并将符号表达式转换为MATLAB功能块。通过指定块中的评论注释选项。

创建一个新模型并打开它。

new_system (my_system) open_system(“my_system”)

创建一个符号表达式。

Syms x y z f = x ^ 2 + y ^ 2 + z ^ 2;

使用matlabfunctionblock.创建块my_block包含符号表达式。matlabfunctionblock.覆盖现有块。双击生成的块以打开和编辑定义块的函数。

MatlabFuncleccunctionBlock('my_system / my_block',f)
函数f = my_block(x,y,z)%#codegen%此函数由符号数学工具箱版本7.3生成。%01-jan-2017 00:00:00 f = x。^ 2 + y。^ 2 + z。^ 2;

包括评论版本1.1在街区。

matlabFunctionBlock (my_system / my_block, f,“评论”,“版本:1.1”)
函数f = my_block(x,y,z)...%版本:1.1 f = x。^ 2 + y。^ 2 + z。^ 2;

保存并关闭my_system

save_system('my_system')close_system('my_system')

创建一个新模型并将符号函数转换为MATLAB功能块。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建一个符号函数。

纽带XyZ.f(x,y,z)= x ^ 2 + y ^ 2 + z ^ 2;

转变F到一个MATLAB函数块。双击该块以查看函数。

matlabfunctionblock('my_system / my_block'f)
函数f = my_block (x, y, z) % # codegen f = x ^ 2 + y ^ 2 + z。^ 2;

转换几个符号表达式到一个MATLAB函数块与多个输出端口。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建三个符号表达式。

纽带XyZ.f = x ^ 2;g = y ^ 2;h = z ^ 2;

将它们转换为Matlab功能块。matlabfunctionblock.创建一个具有三个输出端口的块。双击该块以查看函数。

matlabfunctionblock('my_system / my_block', f, g, h)
函数[f,g,h] = my_block(x,y,z)%#codegen f = x。^ 2;如果nargout> 1 g = y。^ 2;如果nargout> 2 h = z. ^ 2;结束

指定定义生成的MATLAB函数块的函数名。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建一个符号表达式。

纽带XyZ.x^2 + y^2 + z^2;

生成一个块并将函数名称设置为my_function..双击该块以查看函数。

matlabfunctionblock('my_system / my_block'f......'functionname'“my_function”的)
函数f = my_function(x,y,z) %#codegen f = x.²+y.²+z.²;

将符号表达式转换为MATLAB功能块时,matlabfunctionblock.默认情况下优化代码。这种方法可以帮助简化和加速使用该文件的进一步计算。然而,从一些符号表达式和函数生成优化的代码可能非常耗时。使用优化禁用代码优化。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建一个符号表达式。

纽带Xr = x ^ 2 *(x ^ 2 + 1);

使用matlabfunctionblock.创建块my_block包含符号表达式。双击块以查看定义块的函数。默认情况下,matlabfunctionblock.创建包含优化代码的文件。

matlabfunctionblock('my_system / my_block'右)
函数r = my_block(x)%#codegen t2 = x。^ 2;r = t2。*(t2 + 1.0);

通过设置的值禁用代码优化优化

matlabfunctionblock('my_system / my_block'r......'优化'假)
函数r = my_block(x)%#codegen r = x。^ 2。*(x。^ 2 + 1.0);

指定在生成的块中形成输入端口的输入变量的顺序。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建一个符号表达式。

纽带XyZ.x^2 + y^2 + z^2;

将表达式转换为MATLAB函数块。默认情况下,matlabfunctionblock.在转换符号表达式时使用输入参数的字母顺序。

matlabfunctionblock('my_system / my_block'f)
函数f = my_block (x, y, z) % # codegen f = x ^ 2 + y ^ 2 + z。^ 2;

使用vars.参数指定输入端口的顺序。

matlabfunctionblock('my_system / my_block'f......“var”,[y z x])
函数f = my_block (y, z、x) % # codegen f = x ^ 2 + y ^ 2 + z。^ 2;

在生成块时,重命名输出变量和相应的端口。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建一个符号表达式。

纽带XyZ.x^2 + y^2 + z^2;

将表达式转换为MATLAB功能块,并指定输出变量和端口的名称。双击块以查看定义块的函数。

matlabfunctionblock('my_system / my_block',f,f + 1,f + 2,......'输出', {'姓名1''姓名2'“name3”})
函数[name1,name2,name3] = my_block(x,y,z) %#codegen t2 = x.^2;t3 = y ^ 2;t4 = z。^ 2;name1 = t2 + t3 + t4;If nargout > 1 name2 = t2+t3+t4+1.0;结束if nargout > 2 name3 = t2+t3+t4+2.0;结束

称呼matlabfunctionblock.同时使用多个名称-值对参数。

创建一个新的空模型并打开它。

new_system(“my_system”) open_system (“my_system”的)

创建一个符号表达式。

纽带XyZ.x^2 + y^2 + z^2;

称呼matlabfunctionblock.使用名称值对参数指定函数名称,输入端口的顺序以及输出端口的名称。双击块以查看定义块的函数。

matlabfunctionblock('my_system / my_block',f,f + 1,f + 2,......'functionname'“my_function”“var”[y z x],......'输出',{'姓名1''姓名2'“name3”})
函数[name1,name2,name3] = my_function(y,z,x) %#codegen t2 = x.^2;t3 = y ^ 2;t4 = z。^ 2;name1 = t2 + t3 + t4;If nargout > 1 name2 = t2+t3+t4+1.0;结束if nargout > 2 name3 = t2+t3+t4+2.0;结束

输入参数

全部折叠

块创建或修改,指定为字符向量。

要转换为MATLAB函数块的符号输入,指定为符号表达式、函数、向量或矩阵

要转换为MATLAB功能块的符号输入N.输出,指定为由逗号分隔的若干符号表达式,函数,向量或矩阵。

名称 - 值参数

指定可选的逗号分隔的对名称,值参数。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:MatlabFunclectionBlock('my_system / my_block',f,'functionname','myfun')

要包含在文件头中的注释、指定为字符向量、字符向量单元格数组或字符串向量。

函数的名称,指定为字符向量。默认情况下,matllabfunction(块,......)用途作为函数名称。

指定生成函数的函数名称

标志防止代码优化,指定为或者真正的

当写入文件时,matlabfunctionblock.使用中间变量来优化代码T0.T1.,....

禁用代码优化

输入变量的顺序和生成的块的相应输入端口,指定为字符向量,符号变量的向量,或符号变量的字符向量,符号变量或vercors的一维小区阵列。

指定的输入端口的数量必须等于或超过中自由变量的数量F.不要对指定的输入端口使用相同的名称vars.和指定的输出端口产出

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

指定生成块的输入端口

输出端口的名称,指定为字符向量的一维小区数组。如果未指定输出端口名称,matlabfunctionblock.使用包含单词的名称后面跟着输出端口号,例如,OUT3.

不要对指定的输入端口使用相同的名称vars.和指定的输出端口产出.看指定输出端口

限制

  • 没有相应的MATLAB功能的一些符号功能数据类型,例如简化解决,保存为生成的MATLAB功能块中的符号函数。包含这些功能的转换功能块不能用于Simulink模型。金宝app您需要创建自己的功能数据类型来替换这些符号函数。如果您对无法在Simulink模型中使用的符号函数感兴趣,请与我们联系金宝appMathWorks.技术支持金宝app

在R2009A介绍