Simulink求一个多输入多输出的S函数

Simulink求一个多输入多输出的S函数


一、秦皇岛网友解答:


1.据我所知,S函数好像不支持多输入多输出,要实现多输入多输出,需要在输入端把需要的信号合并为向量,然后在输出端把向量信号再给分解开成为多个输出.

2.这样的话,你不仅需要一个S函数,还需要在S-Function模块的前后分别加上Mux和Demux模块.

3.从你的方程看,似乎并没有使用S函数的必要,建议的做法有这样几种:使用MATLAB Fcn 模块(R2011a之后改名为Interpreted MATLAB Function).

4.优点是使用比较简单,而且理论上可以使用任何MATLAB函数.直接使用Simulink的基本模块搭建(例如Fcn);

5.用 Embedded MATLAB Function模块(R2011a之后改名为MATLAB Function).

6.该模块的好处是支持多输入多输出,还可以进行代码生成,但对于语法限制比较严格.除非有要求必须使用S函数,否则上面任何一种做法都更可取.

7.你考虑一下,等决定使用哪种方式实现了,我再帮你做(其实你完全可以自己试一试).低通滤波器应该使用1/(Ts+1)就可以了.