我想得到我用x轴绘制的曲线的交点。 我不知道曲线的等式。我只有离散值,我绘制它们。有没有办法用python轻松完成这项工作? 代码很简单:
incident_angles = np.linspace(0,90,91)
r_p = np.array(r_p_list)
#r_p_list contains fresnel coefficients for the incident angles
py.plot(incident_angles,abs(r_p))
现在,当我绘制此图时,曲线与x轴在布鲁斯特角的点处相交。我想明白这一点。 该图形应该与此图像中的蓝色曲线相似: fresnel coefficients for reflected TM polarized light 感谢
答案 0 :(得分:0)
好的,现在我知道怎么做了。 首先,我们可以使用“scipy.interpolate.PiecewisePolynomial”来创建由离散数据定义的函数,然后使用“fsolve”来查找根(x轴交点)
from scipy.optimize import fsolve
import scipy.interpolate as interpolate
x = incident_angles
y1 = r_p
func = interpolate.PiecewisePolynomial(x,y1[:,np.newaxis])
brewster = fsolve(func, 0.0) #0.0 is the starting point (angle)
print brewster