Numpy开立方

开三次方,很容易想到 a**(1/3)。但是,当a时负数时,这么做开出来的是复数。
这其实和优先级有关系,(1/3)先运行得到0.3333333333333333,然后再运行指数运算。

可以用numpy的cbrt()函数来解决。
np.cbrt(-8)=-2.0

例如作图:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5,5,100,dtype=float)
y = np.cbrt(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines['right'].set_color('none')     #隐藏右边线
ax.spines['top'].set_color('none')       #隐藏上边线
ax.spines['bottom'].set_position(('data',0))     #改变x轴位置

image.png

赞(1)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Numpy开立方》
文章来自:泰恩数据
文章链接:https://tyne.cc/485.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址