遇到的问题,在跑某些仿真的时候,跑到solve init时出现报错simulator has unexpectedly exited with status 0。观察在solve init的运行信息中出现的一个列表
查阅手册2.10.1发现,对于第一行的init,他对应的是参数<\proj>,psi是一个名字,不用管。第二行中direct代表直接预测,i代表外循环次数,j代表内循环次数,m代表迭代算法。x代表跟自变量有关的误差范数,称为x范数;rhs代表一个跟方程结果误差的范数,称为rhs范数。他们两个代表误差要到指标范围内,程序才能继续。
程序成功时,会在最后一组数据的误差上标上*号。如图所示
程序失败时如图,一般都只能到j=100左右,误差不在误差范围内就会出现报错simulator has unexpectedly exited with status 0。
目前对失败的解决方案有几种:
1.修改网格。让误差没有那么准确的话有可能能跳过这一步。原理上感觉改大改小都有可能让误差到达范围内。实际调试中也是调大调小都有可能通过。看情况来实现
2.修改模型
3.检查结构有没有冲突的设计
4.修改CPU参数。发现内存电压比较高(CPU性能比较好)的时候有可能能通过这一步
这一步init的算法暂时没看明白,解决方案是经验,原理还有不太清楚的地方,欢迎交流