在添加过程中遇到运行时警告:溢出是否会导致ValueError:数学域错误?

时间:2019-09-19 16:41:44

标签: python-3.x python-2.7 numpy tensorflow ros

我有一小段代码,其中我获取一组24个角度,然后使用NN预测下一组24个角度。在将输入传递给NN之前,我正在使用涉及cos,sin,乘法和加法的复杂数学函数来处理输入。尝试在一定时间(例如40分钟)后运行模拟时,我遇到了这个RuntimeWarning: overflow encountered in add,然后导致出现ValueError: math domain error

我最初虽然可能会发生数学域错误,因为可能馈入t cos的角度可能超出范围,因此将这些角度重新映射到cos范围内,并且错误仍然继续。我正在使用numpy和tensorflow进行处理。

term_1_1 = (self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0])+2*self.l_1*math.sin(self.j_angles[0])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2]))+self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0]+self.j_angles[1])+self.l_1*math.sin(self.j_angles[1])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2]))+self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2])))

任何人都可以通过指出导致此溢出和错误的确切原因来帮助我。 dtype float64的所有numpy数组,与tensorflow变量和其他占位符相同。 j_angles是一个由24个元素组成的numpy初始化数组,后跟ROS订阅者输出。

0 个答案:

没有答案