所以我有这个等式:
x^2 + 4*(z+10)^2 = e^(-0.05*z)
如何使用Matplotlib.pyplot和Numpy包来绘制它?
答案 0 :(得分:7)
我的解决方案是:计算给定x和z网格的方程的每一边。然后我轮廓满足等式的点。一边减去其他边等于零。
import numpy as np
import matplotlib.pyplot as plt
z = -np.linspace(9,15,100)
x = np.linspace(-26,26,1000)
x,z = np.meshgrid(x,z)
Z = -np.exp(-0.05*z) +4*(z+10)**2
X = x**2
plt.contour(x,z,(X+Z),[0])
plt.xlim([-1.5,1.5])
plt.ylim([-11.5,-8.5])
答案 1 :(得分:1)
使用sympy http://docs.sympy.org/latest/modules/plotting.html的plot_implicit函数或使用Sage http://www.sagemath.org/。