主要内容

ssSetStateAbsTol

设置变量步长求解器在特定s函数连续状态下使用的绝对容差。

语法

void ssSetStateAbsTol(SimStruct *S, const int_T idx, const Real_T val)

参数

年代

SimStruct表示S-Function块。

idx

一种表示s函数连续状态的指数。此索引的范围为0n - 1在哪里n为s函数中连续状态的个数。

瓦尔

绝对公差的值。该值必须为正实标量。

描述

用于设置用于s函数连续状态的绝对容差,用于当前仿真的变步长求解器。

请注意

固定步长求解器不分配绝对公差。因此,在验证模拟使用的是变量步长求解器之前,永远不要调用这个宏。您可以使用ssIsVariableStepSolver确定模型是否使用变步长求解器。

语言

C, c++

例子

/* * mdlStart(SimStruct *S) {const real_T absTol0 = (mxGetPr(ssGetSFcnParam(S,0)))[0];const real_T absTol1 = (mxGetPr(ssGetSFcnParam(S,1)))) [0];/*绝对公差不被固定步长求解器使用*因此每个调用绝对公差API必须被保护*/ if (ssIsVariableStepSolver(S)) {ssSetStateAbsTol(S, 0, absTol0);ssSetStateAbsTol(年代,1,absTol1);}}

看到这个功能sfun_atol.c中使用的sfcndemo_sfun_atol以获取使用此函数的完整示例。

介绍了R2011a