Function 在MATLAB中使用Simulink模块

Function 在MATLAB中使用Simulink模块,function,matlab,simulink,Function,Matlab,Simulink,我想使用Simulink块(MATLAB函数),就像MATLAB中的函数一样。这意味着我已经有了一个复杂的Simulink模型,我只想在Matlab中使用模型的一些模块 如果要从MATLAB运行simulink模型,请使用命令sim('yoursulinkModel.slx'), 在simulink模型中,使用块到工作区(地址:simulink/Sinks/到工作区)。执行后将simulink模型的结果导出到MATLAB工作区。以下是一个简单simulink系统的示例,该系统从MATLAB脚本读

我想使用Simulink块(MATLAB函数),就像MATLAB中的函数一样。这意味着我已经有了一个复杂的Simulink模型,我只想在Matlab中使用模型的一些模块


如果要从MATLAB运行simulink模型,请使用命令
sim('yoursulinkModel.slx')

在simulink模型中,使用块到工作区(地址:
simulink/Sinks/到工作区
)。执行后将simulink模型的结果导出到MATLAB工作区。

以下是一个简单simulink系统的示例,该系统从MATLAB脚本读取变量,运行模型并将输出导出到工作区窗口。自动从调用/执行模型的MATLAB脚本中提取模型中使用的任何变量名。通过使用允许将模型的一部分直接导出到“工作空间”面板的“接收器”块获得输出。下面的系统将输入相加2,然后乘以2。类似地,此设置也适用于用户定义的功能块
fcn

Simulink模型


MATLAB脚本
使用MATLAB R2019b运行时

应首先考虑以下事项:

-要将整个模型(Simulink)用作函数,必须运行它。无法运行部分模型

根据以下两个条件,您可以采用两种方式:

  • 您的模型具有该函数,该函数是用MATLAB脚本编写的
  • 您的模型有一个函数,该函数是在simulink本身中创建的。(就像使用库块一样)
  • 让我们逐一看看:

  • 如果您在MATLAB中使用、解释的MATLAB函数(解释的MATLAB fcn)或仅使用简单的MATLAB函数(fcn)创建函数,您实际上可以从您的工作apce访问这些函数的代码。复制这些文件的代码并编写自己的函数

  • 如果您已经在Simulink中创建了该函数,并且除了使用模型本身之外没有其他选项,请执行以下操作:

      A. Define all input as variables in your model , using '**from workspace**'
      B. Define all your outputs using : '**To workspace**'
    
      C. Define your input variables in your workspace first.
             load('data.mat'); % this can be your input data
      D. define your model as a system in a script file
             sys = 'mysimulinkmodel'
      E. run model from your script file as follows:
             data_out = sim(sys) or directly, sim("mysimulinkmodel")
    
  • 一旦运行了模型,就可以访问数据输出中的所有输出数据

    希望你能用这个解决你的问题

      A. Define all input as variables in your model , using '**from workspace**'
      B. Define all your outputs using : '**To workspace**'
    
      C. Define your input variables in your workspace first.
             load('data.mat'); % this can be your input data
      D. define your model as a system in a script file
             sys = 'mysimulinkmodel'
      E. run model from your script file as follows:
             data_out = sim(sys) or directly, sim("mysimulinkmodel")