文档帮助中心文档
将符号表达式转换为MATLAB功能块
matlabFunctionBlock(块)
matlabFunctionBlock (fN块,f1,…)
matlabFunctionBlock (___,名称,值)
例子
matlabFunctionBlock (块,f)皈依f一个MATLAB®可在Simulink中使用的功能块万博1manbetx®模型,这里,f可以是符号表达式、函数或符号表达式或函数的向量。
matlabFunctionBlock (块,f)
块
f
块指定您创建或修改的块的名称。
matlabFunctionBlock (块,f1,…,fN)转换符号表达式或函数f1,…,fN使用N产出.每一要素f1,…,fN可以是符号表达式、函数或符号表达式或函数的向量。
matlabFunctionBlock (块,f1,…,fN)
f1,…,fN
N
matlabFunctionBlock (___,名称、值)使用一个或多个指定的附加选项将符号表达式、函数或符号表达式或函数的向量转换为MATLAB函数块名称、值对参数。您可以指定名称、值在前面语法中使用的输入参数之后。
matlabFunctionBlock (___,名称、值)
名称、值
全部崩溃
创建一个新的模型,并将符号表达式转换为MATLAB函数块。在代码块中包含注释评论选择。
评论
创建一个新模型并打开它。
新系统(“我的系统”)开放系统(“我的系统”)
创建一个符号表达式。
Syms x y z f = x^2 + y^2 + z^2
使用matlabFunctionBlock要创建块我的街区包含符号表达式的。matlabFunctionBlock覆盖现有的块。双击生成的块,打开并编辑定义块的函数。
matlabFunctionBlock
我的街区
matlabFunctionBlock (my_system / my_block, f)
这个函数是由符号数学工具箱7.3版本生成的。% 01-Jan-2017 00:00:00 f = x.^2+y.^2+z.^2;
包括发表评论版本1.1的块。
版本1.1
matlabFunctionBlock('my_system/my_block',f,'Comments','Version:1.1')
函数f = my_block(x,y,z)…f = x.^2+y.^2+z.^2;
保存并关闭我的系统.
我的系统
save_system (my_system) close_system(“my_system”)
创建一个新的模型,并将符号函数转换为MATLAB函数块。
创建一个新的空模型并打开它。
new_system (“我的系统”)开放式系统(“我的系统”)
创建一个符号函数。
信谊xyzF (x, y, z) = x^2 + y^2 + z^2
转换f指向MATLAB函数块。双击该块可查看函数。
matlabFunctionBlock (“my_system / my_block”,f)
函数f=my_块(x,y,z)%#代码根f=x.^2+y.^2+z.^2;
将多个符号表达式转换为具有多个输出端口的MATLAB功能块。
创建三个符号表达式。
信谊xyzf=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;If nargout > 1 g = y.^2;结束if nargout > 2 h = z.^2;结束
指定定义生成的MATLAB功能块的函数的名称。
信谊xyzf=x^2+y^2+z^2;
生成一个块并将函数名设置为my_function. 双击块以查看函数。
my_function
matlabFunctionBlock (“my_system / my_block”F...“FunctionName”,“我的_函数”)
函数f=my_函数(x,y,z)%#代码根f=x.^2+y.^2+z.^2;
当你将符号表达式转换为MATLAB函数块时,matlabFunctionBlock默认情况下优化代码。此方法有助于简化和加快使用文件的进一步计算。但是,从某些符号表达式和函数生成优化代码可能非常耗时。请使用优化禁用代码优化。
优化
信谊xR = x^2*(x^2 + 1);
使用matlabFunctionBlock要创建块我的街区包含符号表达式的。双击该块以查看定义该块的函数。默认情况下,matlabFunctionBlock创建包含优化代码的文件。
matlabFunctionBlock (“my_system / my_block”,r)
函数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);
指定生成块中组成输入端口的输入变量的顺序。
将表达式转换为MATLAB功能块。默认情况下,matlabFunctionBlock在转换符号表达式时使用输入参数的字母顺序。
使用var参数指定输入端口的顺序。
var
matlabFunctionBlock (“my_system / my_block”F...“瓦尔斯”, [y z x])
函数f=my_块(y,z,x)%#代码根f=x.^2+y.^2+z.^2;
生成块时,重命名输出变量和相应的端口。
将表达式转换为MATLAB函数块,并指定输出变量和端口的名称。双击该块以查看定义该块的函数。
matlabFunctionBlock (“my_system / my_block”,f,f + 1 f + 2,...“输出”, {“name1”,“name2”,“名称3”})
函数[name1,name2,name3]=my_block(x,y,z)%#codegen t2=x.^2;t3=y.^2;t4=z.^2;name1=t2+t3+t4;如果nargout>1 name2=t2+t3+t4+1.0;如果nargout>2 name3=t2+t3+t4+2.0,则结束;结束
调用matlabFunctionBlock同时使用多个名称-值对参数。
调用matlabFunctionBlock使用名称-值对参数指定函数名、输入端口的顺序和输出端口的名称。双击该块以查看定义该块的函数。
matlabFunctionBlock (“my_system / my_block”,f,f + 1 f + 2,...“FunctionName”,“我的_函数”,“瓦尔斯”,[y z x],...“输出”,{“name1”,“name2”,“名称3”})
函数[name1,name2,name3]=my_函数(y,z,x)%35; codegen t2=x.^2;t3=y.^2;t4=z.^2;名称1=t2+t3+t4;如果nargout>1,则名称2=t2+t3+t4+1.0;如果nargout>2 name3=t2+t3+t4+2.0,则结束;终止
要创建或修改的块,指定为字符向量。
要转换为MATLAB功能块的符号输入,指定为符号表达式、函数、向量或矩阵
用符号输入转换为MATLAB的函数块N输出,指定为几个符号表达式、函数、向量或矩阵,用逗号分隔。
指定可选的逗号分隔的字符对名称、值论据。的名字参数名和价值为对应值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
matlabFunctionBlock (my_system / my_block, f,‘FunctionName’,‘myfun’)
要包含在文件头中的注释,指定为字符向量、字符向量的单元格数组或字符串向量。
函数名
函数的名称,指定为字符向量。默认情况下,matlabFunction(块,…)使用块作为函数名。
matlabFunction(块,…)
看到为生成的函数指定函数名.
符合事实的
阻止代码优化的标志,指定为错误的或符合事实的.
写入文件时,matlabFunctionBlock使用名为t0,t1,……
t0
t1
看到禁用代码优化.
输入变量和生成块的相应输入端口的顺序,指定为字符向量、符号变量向量或字符向量、符号变量向量或符号变量向量的一维单元数组。
指定的输入端口数必须等于或超过中的自由变量数f. 对于指定的输入端口,请不要使用相同的名称var和指定的输出端口输出.
输出
默认情况下,当您转换符号表达式时,顺序是字母顺序。当您转换符号函数时,它们的输入参数出现在其他变量的前面,并且所有其他变量都按字母顺序排序。
看到为生成的块指定输入端口.
出来
输出端口的名称,指定为字符向量的一维单元数组。如果不指定输出端口名称,matlabFunctionBlock使用由单词组成的名称出来后跟输出端口号,例如,out3.
out3
不要对指定的输入端口使用相同的名称var和指定的输出端口输出.看到指定输出端口.
一些符号函数没有相应的MATLAB函数操作双重的数据类型,例如简化和解决,作为符号函数保存在生成的MATLAB函数块中。由这些函数组成的转换函数块不能在Simulink模型中使用。万博1manbetx您需要创建自己的函数双重的替换这些符号函数的数据类型。如果您对Simulink模型中无法使用的符号函数感兴趣,请联系万博1manbetxMathWorks技术支持万博1manbetx.
双重的
简化
解决
代码|fortran|matlabFunction|simscapeEquation|潜艇|sym2poly
代码
fortran
matlabFunction
simscapeEquation
潜艇
sym2poly
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处