MATLAB相关问题,急求高手解答!!!多谢!!!
1.请描述Simulink中VirtulSubsystem和AtomicSubsystem的主要区别。2.假设S-Functionwrapper文件“my_sfun.c”...
1.请描述Simulink中Virtul Subsystem和Atomic Subsystem的主要区别。
2.假设S-Function wrapper文件“my_sfun.c”中调用算法“my_alg.c”,用什么MATLAB命令,可以生成此S-Function?
还有附图中的第4题和第5题。
请高手多帮忙,可追加悬赏。 展开
2.假设S-Function wrapper文件“my_sfun.c”中调用算法“my_alg.c”,用什么MATLAB命令,可以生成此S-Function?
还有附图中的第4题和第5题。
请高手多帮忙,可追加悬赏。 展开
1个回答
展开全部
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在决定各模块的执行顺序时,对于虚拟子系统,其边界被忽视;而对于原子子系统,必须执行完该子系统内的所有的模块才能转到下一模块。换言之,在一个步长内,虚拟子系统可以多次进入,而原子子系统只能进入一次。
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从6.6版(R2007a)开始支持多维信号,并最多限定为32维。到目前为止似乎还没有进一步放开限制。
8、我认为a是对的。b的说法刚好反过来了。
15、后面三个应该都算正确吧。第一个的主要问题是dfittool不是控制系统工具箱的。
如果感觉对回答满意就采纳了吧,采纳之后有问题继续追问我仍然会回答。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询