金宝appSimulink函数:Simulink函数块,导出Stateflow图形和MATLAB函数
金宝app®与编程语言类似,函数有一个带有输入和输出参数的接口。您可以使用以下方法为Simulink函数创建函数定义:金宝app
金宝appSimulink块中的一个金宝app仿真软件的功能块
Stateflow®从状态流程图导出的图形函数中的状态转换。
MATLAB®从状态流图导出的MATLAB函数中的代码。
下面的部分将展示如何为该函数创建一个Simulink函数金宝appy = timestwo (x)
.函数乘一个值(x
)2
,然后发送计算值(y
)回复来电者。要调用该函数,请参见金宝appSimulink函数调用器:函数调用器块,MATLAB函数块,状态流图.
要使用Simulink函数和函数调用程序打开完整的模型,请金宝app参见ex_金宝appsimulink_functions_and_function_callers
.
使用Simulin金宝appk函数块创建Simulink函数
建立了一个金宝app仿真软件的功能块通过函数调用方的输入参数接收数据,然后通过输出参数将计算值传递回。
添加一个金宝app仿真软件的功能靠近你的模型。
在块面上,输入函数原型。
y = timestwo (x)
双击该块以打开定义函数算法的子系统。
添加一个获得块,并设置获得参数
2
.
使用从状态流图导出金宝app的图形函数创建Simulink函数
在Stateflow图表中设置图形函数,通过函数调用者的输入参数接收数据,并通过输出参数将计算值传回。设置图表参数,将功能导出到Simulink模型中。金宝app
在状态流图中定义图形函数
在状态流图中创建图形函数。定义函数接口和函数定义。
向Simulink模型中添加状态流图。金宝app双击Simulink框图。金宝app在搜索框中输入
图表
,然后从搜索结果中选择图表
.双击打开图表。
添加图形功能。在左侧工具栏中,单击并拖动图形化功能图标
到图上。
定义函数接口。2 .在信息展示区更换
?
功能接口y = timestwo (x)
.定义函数算法。单击转换箭头并替换
?
与{y = 2 * x}
.
测试图形功能。在导出到Simulink模型之前,在状态流图中测试图形功能。金宝app
在图表中添加用于测试功能的默认转换。从左侧工具栏中,单击并拖动一个默认的转换箭头
到图上。
双击箭头并替换
?
与{日元= timestwo (x1)}
.向图表添加输入端口。打开模型资源管理器。在左窗格中,选择
图表
.从菜单中选择添加>数据.集的名字来x1
而且范围来输入
.向图表添加输出端口。从菜单中选择添加>数据.集的名字来
日元
而且范围来输出
.添加一个正弦波块来为输入提供测试数据,添加一个Scope块来查看来自输出的结果。
运行一个仿真。
为图形函数设置参数
指定函数输入和输出参数的大小、复杂性和类型。图表只能导出具有完全指定原型的函数。
打开模型资源管理器。在建模选项卡和设计部分中,选择模型浏览器
.
在左窗格中,选择图形函数。
从列视图列表中,选择
Stateflow
.选择过滤器图标,然后从切换列表中选择所有Stateflow对象.从中间窗格表中选择一个输入或输出参数。
在右窗格中,将Size设置为1(标量),set复杂性来
从
(实数),并设置类型来双
.重复步骤
2
而且3.
使用输出函数参数y
.
设置图形功能导出参数
设置参数,以便在模拟过程中从状态流图将图形函数导出到Simulink模型。金宝app
打开模型资源管理器。
在左窗格中,选择包含图形函数的图表。
在右侧的属性对话框中,选择导出图表级别功能复选框,单击应用按钮,然后选择将导出的函数视为全局可见的复选框。
如果从另一个Stateflow图表(不是导出图形函数的图表)调用导出的图形函数,则不需要选择将导出的函数视为全局可见的复选框。
使用从状态流程图导金宝app出的MATLAB函数创建Simulink函数
在状态流图中设置一个MATLAB函数,通过函数调用者的输入参数接收数据,然后通过输出参数将计算值传回。设置图表参数,将功能导出到Simulink模型中。金宝app
在状态流图中定义一个MATLAB函数
在状态流程图中创建一个MATLAB函数。定义函数接口和函数定义。
向Simulink模型中添加状态流图。金宝app双击框图。在搜索框中输入
图表
,然后从搜索结果中选择图表
.打开图表。
添加一个MATLAB函数。在左侧工具栏中,单击并拖动图形化功能图标
到图上。
定义函数接口。2 .在信息展示区更换
?
功能接口y = timestwo (x)
.双击函数框,打开MATLAB代码编辑器。用MATLAB代码定义函数算法。
测试MATLAB函数。在导出到Simulink模型之前,在状态流图中测试MATLAB函数。金宝app
在图表中添加用于测试功能的默认转换。从左侧工具栏中,单击并拖动一个默认的转换箭头
到图上。
双击箭头并替换
?
与{日元= timestwo (x1)}
.向图表添加输入端口。打开模型资源管理器。在左窗格中,选择
图表
.从菜单中选择添加>数据.集的名字来x1
而且范围来输入
.向图表添加输出端口。从菜单中选择添加>数据.集的名字来
日元
而且范围来输出
.添加一个正弦波块来为输入提供测试数据,添加一个Scope块来查看来自输出的结果。
运行一个仿真。
为MATLAB函数设置参数
指定函数输入和输出参数的大小、复杂性和类型。图表只能导出具有完全指定原型的函数。
打开模型资源管理器。在建模选项卡和设计部分中,选择模型浏览器
.
在左侧窗格中,选择MATLAB函数。
从列视图列表中,选择
Stateflow
.选择过滤器图标,然后从切换列表中选择所有Stateflow对象.从中间窗格表中选择一个输入或输出参数。
在右窗格中,设置大小到1(标量),设置复杂性来
从
(实数),并设置类型来双
.重复步骤
2
而且3.
使用输出函数参数y
.
为MATLAB函数设置导出函数参数
设置参数,以便在模拟过程中从状态流图导出MATLAB函数。
打开模型资源管理器。
从左侧窗格中,选择包含MATLAB函数的图表。
在右侧的属性对话框中,选择导出图表级别功能复选框,单击应用按钮,然后选择将导出的函数视为全局可见的复选框。
如果从另一个状态流图(不是导出MATLAB函数的图表)调用导出的MATLAB函数,则不需要选择将导出的函数视为全局可见的复选框。