iiflyy 发表于 2007-5-25 18:11

求教s-function的问题,我实在是没搞懂

我的毕设是CDMA多用户检测的simulink仿真,程序用matlab已经编好了,但是还要用simulink做个模型仿真!
在用simulink时搞不懂一个问题,比如我想用s-function编一个模块,而这个模块没有输入,它的输出可以说与时间也无关,是一个常量矩阵,这个用s-function怎么也编不出来,不知道有什么其他的方法来实现这个功能模块?

还有,不太清楚这样一个概念,就是s-funcion在每一个仿真步长里的输出是不是只能是一个数,而不能输出一个矩阵?

haha1015 发表于 2007-5-26 09:29

我也是跟你差不多的任务,加我QQ327618450研究下

cdwxg 发表于 2007-5-26 10:39

这个模块没有输入,它的输出可以说与时间也无关,是一个常量矩阵,基本上来说,我理解的你这个模块实现的功能就是计算一些参数值然后把这些参数值送入matlab空间
一般2种解决办法,如果你用到S函数或者matlab fcn在该系统的其他方面时候,可以把你计算的参数设置为全局变量,整个M文件可以放到上面的几种情况文件下
如果你除了该计算模块没用到其他的,那么你就保存为M文件,既然没输入,那么就在你运行模块前把该M文件先运行一下,就相当于在matlab空间送入这些值,然后再运行模块即可.

就是s-funcion在每一个仿真步长里的输出是不是只能是一个数,而不能输出一个矩阵?

这个问题,当然可以输出一个矩阵,我印象中应该是这样的.不过这个矩阵一般都是向量.
具体的有待考证
页: [1]
查看完整版本: 求教s-function的问题,我实在是没搞懂