关于s功能的常见问题
今天,我们欢迎迈克尔•卡他会回答我们收到的最常见的问题S-Functions.
你能用S-Functions做什么?
S-Functions允许您创建自定义块。它们可以用来做以下事情:
- 将遗留代码引入模型
- 创建自定义用户界面
- 与第三方工具接口
我必须用C来写s函数吗?
不。s函数可以写成C, c++,MATLAB,FORTRAN.
如果你的代码是用其他语言编写的,可以从MATLAB或C/ c++调用,你可以创建一个S-Function包装器,将其包含在Simulink模型中。金宝app
s -函数与MATLAB函数、MATLAB系统模块和其他创建用户定义函数的模块相比如何?
我强烈建议阅读我们的文档页面自定义块功能的比较.根据您的需要,下面的流程图可以帮助您确定哪个选项最适合您。
当我更新到新的Simulink版本时,S-Function是否需要重金宝app写或重新编译?
不需要重写s函数。s -函数的源代码是向后兼容的。在旧版本中编写的C-MEX S-Function在新版本中重新编译后,保留了旧版本的功能和行为。
在大多数情况下,不需要重新编译S-Function。如果平台和相关库保持不变或保持向后兼容性,那么在旧版本中编译的S-Function MEX文件可以在新版本中工作。为了获得最好的结果,我们建议您在当前版本的MATLAB中重新编译S-Function源代码。
从32位迁移到64位,或者从一个操作系统迁移到另一个操作系统会怎么样呢?
当从32位移动到64位以及从一个操作系统移动到另一个操作系统时,需要重新编译s -函数。
我必须从头开始创建s函数吗?
有两种工具可以帮助您创建S-Functions遗留代码的工具和s函数生成器.
这两种工具的原理是相似的。从实现算法的C代码开始。您可以指定此代码的属性,例如输入、输出的数量、它们的维度和数据类型,以及代码所依赖的外部依赖项。这些工具然后自动生成包装器S-Function并编译它,以便您可以在Simulink中使用它。金宝app
这两种工具之间的主要区别在于,S-Function Builder是一个图形界面,您可以在其中交互地指定代码的属性。
遗留代码工具是一个允许您以编程方式指定代码属性的函数。
现在轮到你了
如果你对如何、何时以及为什么使用S-Functions有好的指导和建议,请在下面留言告诉我们这里的评论.
- 类别:
- S-functions
评论
要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。