将符号表达式转换为马铃薯功能块
创建一个新模型,并将一个符号表达式转换为MATLAB函数块。在块中指定注释评论
选择。
创建一个新模型并打开它。
new_system('my_system')open_system('my_system')
创建一个符号表达式。
syms x y zf = x^2 + y^2 + z^2;
采用matlabFunctionBlock
创建blockmy_block.
包含符号表达式。matlabFunctionBlock
覆盖现有的块。双击生成的块,打开并编辑定义该块的函数。
matlabFunctionBlock (my_system / my_block, f)
函数f = my_block(x,y,z) %#codegen %f = x.^2+y.^2+z.^2;
包括发表评论版本1.1
的块。
matlabfuncleclock('my_system / my_block',f,'comment','版本:1.1')
函数f = my_block(x,y,z)…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')
创建符号函数。
信谊xyzf(x, y, z) = x²+ y²+ z²;
转换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')
创建三种符号表达式。
信谊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;end if nargout > 2 h = z.^2;结束
指定定义生成的MATLAB功能块的函数的名称。
创建一个新的空模型并打开它。
new_system ('my_system')Open_System('my_system')
创建一个符号表达式。
信谊xyzf = x²+ y²+ z²;
生成一个块并将函数名设置为my_function
。双击块以查看该功能。
matlabFunctionBlock (“my_system / my_block”,F,…“FunctionName”,'my_function')
函数f = my_function(x,y,z)%#codegen f = x。^ 2 + y。^ 2 + z。^ 2;
当您将一个符号表达式转换为MATLAB函数块时,matlabFunctionBlock
默认情况下优化代码。此方法可以帮助简化和加快使用该文件的进一步计算。然而,从一些符号表达式和函数生成优化的代码可能会非常耗时。采用优化
禁用代码优化。
创建一个新的空模型并打开它。
new_system ('my_system')Open_System('my_system')
创建一个符号表达式。
信谊xr = x^2*(x^2 + 1);
采用matlabFunctionBlock
创建blockmy_block.
包含符号表达式。双击该块,查看定义该块的函数。默认情况下,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);
指定在生成的块中形成输入端口的输入变量的顺序。
创建一个新的空模型并打开它。
new_system ('my_system')Open_System('my_system')
创建一个符号表达式。
信谊xyzf = x²+ y²+ z²;
将表达式转换为MATLAB功能块。默认情况下,matlabFunctionBlock
在转换符号表达式时使用输入参数的字母顺序。
matlabFunctionBlock (“my_system / my_block”,F)
函数f = my_block(x,y,z)%#codegen f = x。^ 2 + y。^ 2 + z。^ 2;
使用var
参数指定输入端口的顺序。
matlabFunctionBlock (“my_system / my_block”,F,…'vars', [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')
创建一个符号表达式。
信谊xyzf = x²+ y²+ z²;
将表达式转换为MATLAB函数块,并指定输出变量和端口的名称。双击该块,查看定义该块的函数。
matlabFunctionBlock (“my_system / my_block”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名称2 = t2 + t3 + t4 + 1.0;结束如果nargout> 2 name3 = t2 + t3 + t4 + 2.0;结束
调用matlabFunctionBlock
同时使用多个名称值对参数。
创建一个新的空模型并打开它。
new_system ('my_system')Open_System('my_system')
创建一个符号表达式。
信谊xyzf = x²+ y²+ z²;
调用matlabFunctionBlock
使用名称-值对参数指定函数名、输入端口的顺序和输出端口的名称。双击该块,查看定义该块的函数。
matlabFunctionBlock (“my_system / my_block”f + 1 f + 2,…“FunctionName”,'my_function','vars',[y z x],…“输出”,{“name1”,“name2”,'姓名3'})
函数[name1,name2,name3] = my_function(y,z,x)%#codegen t2 = x。^ 2;t3 = y。^ 2;t4 = z。^ 2;name1 = t2 + t3 + t4;如果nargout> 1名称2 = t2 + t3 + t4 + 1.0;结束如果nargout> 2 name3 = t2 + t3 + t4 + 2.0;结束
块
- - - - - -用于创建或修改的块块创建修改,指定为字符向量。
f
- - - - - -将符号输入转换为MATLAB函数块符号输入要转换为MATLAB功能块,指定为符号表达式,功能,矢量或矩阵
f1,...,fn
- - - - - -将符号输入转换为MATLAB函数块用N
输出将符号输入转换为MATLAB函数块用N
输出,指定为几个符号表达式、函数、向量或矩阵,以逗号分隔。
指定可选的,以逗号分隔的对名称,价值
论点。的名字
参数name和值
是相应的价值。的名字
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen
。
matlabFunctionBlock (my_system / my_block, f,‘FunctionName’,‘myfun’)
'评论'
- - - - - -要包含在文件头中的注释注释包含在文件标题中,指定为字符向量,字符向量或字符串向量的单元格数组。
“FunctionName”
- - - - - -功能名称块
(默认)|字符向量函数名,指定为字符向量。默认情况下,matlabFunction(块,…)
使用块
作为函数名。
看到为生成的函数指定函数名。
“优化”
- - - - - -防止标记代码优化真正
(默认)|假
'vars'
- - - - - -输入变量的顺序和生成块的相应输入端口所生成块的输入变量的顺序和相应的输入端口,指定为字符向量、符号变量向量或字符向量、符号变量或符号变量向量的一维单元数组。
指定输入端口的数量必须等于或超过自由变量的数量f
。不要为由指定的输入端口使用相同的名称var
和由此指定的输出端口输出
。
默认情况下,在转换符号表达式时,顺序是按字母顺序排列的。当您转换符号函数时,它们的输入参数出现在其他变量的前面,所有其他变量都按字母顺序排序。
看到为生成的块指定输入端口。
“输出”
- - - - - -输出端口名称出
后面是输出端口号(默认)|字符向量的一维单元数组输出端口的名称,指定为字符向量的一维单元格数组。如果您没有指定输出端口名,matlabFunctionBlock
使用由单词组成的名称出
然后是输出端口号,例如,out3
。
不要为由指定的输入端口使用相同的名称var
和由此指定的输出端口输出
。看到指定输出端口。
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳的网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。