**造成的问题

今天遇到一个问题简直了。

程序里需要计算高次方,一个数的五次方

代码如下

np.array(  [1, x, x ** 2, x ** 3,       x ** 4,       x ** 5 ])

当x为90时,单独计算改矩阵值为5.9e9(正确值), 当单独进行该矩阵时是正确的。当放在主程序里计算时,一直计算出错误的值,为1.6e9(错误值)。

怀疑是numpy矩阵type的原因,将上述代码修改为

np.array(  [1, x, x ** 2, x ** 3,       x ** 4,       x ** 5 ], dtype = np.float64)

依然无效。

后怀疑是 python自带运算**的原因,改用math.pow程序似乎运行正常。

np.array(  [1, x, x ** 2, x ** 3,       x ** 4,       math.pow(x, 5) ], dtype= np.float64)

这次真的是遇到最玄学的一个问题了......以后再也不用**, 神坑啊。到目前为止,引起这个问题的原因依然未知。这个问题如果不是有心debug根本发现不了。。。。

此外,每次写完代码,最好回头看一下,经常犯一些变量名搞错,搞混的问题。还有就是比如i,j,ti这类循环变量慎用,还是谨慎多敲敲字幕。

发布了36 篇原创文章 · 获赞 0 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_38102912/article/details/102654681
今日推荐