Python画出美观的论文图(4)数值思维 零点 交点 极大值 极小值 检测标注

数值软件的思维果然和mma那种软件很不一样呢,记录一下。

from numpy import diff,sign,argwhere,linspace
x=linspace(-10,10,200)
f=27*x+130
g=-12-58*x+x**2+x**3
idz=argwhere(diff(sign(g))).flatten()
idi=argwhere(diff(sign(f-g))).flatten()
idm=argwhere(diff(sign(diff(g)))).flatten()
plt.figure(figsize=(12*50./127,8*50./127))
plt.plot(x,f)
plt.plot(x,g)
plt.plot(x[idz],g[idz],"o",label="零点")
plt.plot(x[idi],g[idi],"o",label="交点")
plt.plot(x[idm],g[idm],"o",label="极值点")
plt.legend(prop={'family':'SimSun'})

Python画出美观的论文图(4)数值思维 零点 交点 极大值 极小值 检测标注_第1张图片

不过这个毕竟是根据数据得出的,不够精确,交点就明显歪了,想要精确的就用scipy.optimize解吧。

你可能感兴趣的:(python)