专栏
标签
出现“Error:divide-zero error”问题如何解决?
技术分享
发布于 2025-01-07 14:58:49
查看 26过去511天

问题现象

模型检查翻译没问题,点击仿真之后报如下错误
Error:divide-zero error:(xxx.y)/(xxx.u2) = (0)/(0)
image.png

问题原因

模型中有除法运算,0出现在分母上,导致初始化失败。

解决方法

  • 如果是在图形视图中可视化建模,可以查看组件参数面板中是否有初值设置,如下图中,若有,则可以尝试将其设置为非0值;
    image.png
  • 如果是文本建模,则需要结合报错信息,对代码进行修改,例如
  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系统建模仿真环境
系统建模

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天