出现“Error:divide-zero error”问题如何解决?
技术分享
发布于 2025-01-07 14:58:49
查看 26过去511天
问题现象
模型检查翻译没问题,点击仿真之后报如下错误
Error:divide-zero error:(xxx.y)/(xxx.u2) = (0)/(0)

问题原因
模型中有除法运算,0出现在分母上,导致初始化失败。
解决方法
- 如果是在图形视图中可视化建模,可以查看组件参数面板中是否有初值设置,如下图中,若有,则可以尝试将其设置为非0值;

- 如果是文本建模,则需要结合报错信息,对代码进行修改,例如
Real a;
Real b;
Real c;
equation
a = time;
b = sin(time);
c = a / b;
仿真时会报错
Error:divide-zero error: (a)/(b) = (0)/(0).
此时需要对代码进行修改,变除法运算为乘法运算,内核会自动处理分母为0的情况,修改后代码如下:
Real a;
Real b;
Real c;
equation
a = time;
b = sin(time);
b * c = a;
所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境