【发布时间】:2011-09-13 17:12:59
【问题描述】:
如何在 Simulink 中调用 m 文件并将其放入模型中的块中(不使用 S 函数)?有人有想法吗?我真的很感激。
【问题讨论】:
-
我想这已经被问过了,stackoverflow.com/questions/2225248/…
如何在 Simulink 中调用 m 文件并将其放入模型中的块中(不使用 S 函数)?有人有想法吗?我真的很感激。
【问题讨论】:
如果您尝试将用户定义的 MATLAB 函数应用于 Simulink 信号,有几种不同的方法可以做到这一点,具体取决于您的目标。 Simulink 库的 User-Defined Functions 部分中提供了所有选项。
如果您打算从您的模型生成代码,请使用 MATLAB function 块。此块确实有限制,MATLAB 内置函数的整个范围都不可用。
如果您不关心代码生成,请使用Interpreted MATLAB function 块,此块可以使用任何功能。
如果您的 m 文件很简单并且包含对输入进行操作的简单表达式,请使用 Fcn 块。在这种情况下,您可以直接在块对话框中键入表达式并参考文档中所示的输入/输出信号。
【讨论】:
MATLAB Fcn 模块是将 M-function 文件嵌入 Simulink 模型的最佳解决方案。但是,请注意您使用的是哪个版本的 MATLAB,例如,可以使用带有 %#codegen 的 M-function 文件实现更高版本的 MATLAB Function Block,并且 C 编译器需要与您的 MATLAB 包一起使用。祝你好运
【讨论】: