有人知道这是怎么实现的吗?Smulink中的MATLAB function模块,结果是给定速度曲线和电机实际速度曲线。太久没用Smulink仿真,毕设恶补中😭

img

img


有人知道这是怎么实现的吗?Smulink中的MATALAB fcn模块,结果是给定速度曲线和电机实际速度曲线。太久没用Smulink仿真,毕设恶补中😭

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7568758
  • 除此之外, 这篇博客: Simulink方法总结和避坑指南(一)——Simulink入门与基本调试方法中的 四、特殊模块:interpreted MATLAB function: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      当有些模块用simulink固有的模块无法实现的时候,可以自己通过MATLAB函数进行实现,需要使用该模块:interpreted MATLAB function。核心思想就是自己编写MATLAB函数,然后在这个simulink模块内部输入MATLAB函数的名称即可。
    在这里插入图片描述
      不过这个模块有一个很垃圾的地方,就是要求输入和输出必须都能只有一个端口,对于多输入多输出的函数,我们就需要用到如下的模块:matrix concatenate,将里面的参数选择为vector,可以将多个输入合并成一个总的input向量。同理,我们也可以使用sub_matrix模块,将输出的矩阵或者向量取其子部分。(当然就是会比较麻烦)

    在这里插入图片描述
    在这里插入图片描述
      最后要说一下这个模块的调试,这个模块是可以使用设置断点的方法进行调试的,在自己写的函数内部设置断点,就会自动停止并在工作区显示这个函数的所有变量,是十分实用的调试技巧。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^