MATLAB相关问题,急求高手解答!!!多谢!!!

1.请描述Simulink中Virtul Subsystem和Atomic Subsystem的主要区别。

2.假设S-Function wrapper文件“my_sfun.c”中调用算法“my_alg.c”,用什么MATLAB命令,可以生成此S-Function?

还有附图中的第4题和第5题。
请高手多帮忙,可追加悬赏。

1、Virtul Subsystem和Atomic Subsystem的主要区别:
Simulink在决定各模块的执行顺序时,对于虚拟子系统,其边界被忽视;而对于原子子系统,必须执行完该子系统内的所有的模块才能转到下一模块。换言之,在一个步长内,虚拟子系统可以多次进入,而原子子系统只能进入一次。

2、命令:
mex my_sfun.c my_alg.c

4、Fcn的表达式:
sin(3*u) / cos(2*u)^2
你的照片不是很清晰,请再仔细检查一下。

5、Sum模块对应的C代码为:
rtB.Sum = (rtU.u * rtP.b0_Gain)
+ ((rtDWork.Unit_Delay_DSTATE) * rtP.a1_Gain);

rtB.Sum对应Sum模块的输出,它和四个模块有关:
rtP.b0_Gain 对应增益模块b0的增益值;
rtU.u 对应输入端口模块u;
rtDWork.Unit_Delay_DSTATE 对应单位延迟模块的状态量;
rtP.a1_Gain 增益模块a1的增益值。追问

能不能再问一下:Simulink多维信号支持最大的维度是多少?16,32,还是64呢?

 

还有两道题,见下图。拜托了!

追答

Simulink从6.6版(R2007a)开始支持多维信号,并最多限定为32维。到目前为止似乎还没有进一步放开限制。

8、我认为a是对的。b的说法刚好反过来了。

15、后面三个应该都算正确吧。第一个的主要问题是dfittool不是控制系统工具箱的。

如果感觉对回答满意就采纳了吧,采纳之后有问题继续追问我仍然会回答。

温馨提示:答案为网友推荐,仅供参考