主要内容

sssetskipcontstatesconsistencycheck.

金宝app引擎跳过连续状态一致性检查

句法

void sssetskipcontstatesconsistencycheck(simstruct * s,boolean_t v)

争论

S.

Simstruct代表S函数块。

V.

布尔值(Boolean_t.)告诉Simulin金宝appk.®跳过状态一致性连续检查。

描述

使用此宏要求Simulink跳过连续状态一致金宝app性检查正确编写的S函数。正确编写的S函数是使用它的函数Sssetsolverneedsreset.在主要时间步骤中改变其自己的连续状态时宏。

默认情况下,Simuli金宝appnk监视S函数中的连续状态更改。当您不使用时,它会出现警告进行更改Sssetsolverneedsreset.宏。如果你使用Sssetsolverneedsreset.正确的宏观,您不需要同时监视S函数的连续状态变化,因此可以加快S函数并提高模拟性能金宝app。要告诉Simul金宝appink以停止监控连续状态的变化,请使用sssetskipcontstatesconsistencycheck.宏。如果S函数使用此宏:

  • 永远不要改变国家。

  • 改变状态,但使用Sssetsolverneedsreset.宏重置求解器。

若要跳过支票,请使用sssetskipcontstatesconsistencycheck(s,1)在里面mdlinitializatize方法。

笔记

出于性能原因,仅在正常和加速器模式模拟中执行连续状态一致性检查。特别地,Simulink不执行金宝app连续状态一致性检查:

  • 在a内的s函数模型在加速器模式下的块

  • 如果模型在快速加速器模式下运行,则任何S函数

语言

C,C ++

例子

以下示例使用此宏询问Simulink引擎跳过一致性检查,因为S函数已在其状态下正确实现了状态金宝appmdloutputs.方法。

静态void mdlinitialialization(simstruct * s){::: :sssetskipcontstatesconsistencycheck(simstruct s,1);:: :静态void mdloutputs(simstruct * s,int_t tid)} / *结束mdlinitializate * /静态void mdloutputs(Simstruct * s,Int_t tid){/ *在主要时间步骤中的更改状态仅限* / if(ssismajortimestep(s)&& yourconditionsforstatechange){double * x = ssgetcontstates;/ *重置状态* / for(i = 0; i 
            
在R2016A介绍