如何在Python上绘制数学方程

如何在Python上绘制数学方程,python,numpy,matplotlib,Python,Numpy,Matplotlib,我试图使用matplotlib在python上绘制一个图形,但无法获得预期的结果 方程1:1/2*(w1+w2)+1/2*np.sqrt(4*(g)**2+(w2-w1)**2) 方程2:1/2*(w1+w2)-1/2*np.sqrt(4*(g)**2+(w2-w1)**2) 我的python代码: import matplotlib.pyplot as plt import numpy as np def W_p(w1,w2,g): return 1/2 * (w1 + w2) + 1

我试图使用matplotlib在python上绘制一个图形,但无法获得预期的结果

方程1:
1/2*(w1+w2)+1/2*np.sqrt(4*(g)**2+(w2-w1)**2)

方程2:
1/2*(w1+w2)-1/2*np.sqrt(4*(g)**2+(w2-w1)**2)

我的python代码:

import matplotlib.pyplot as plt
import numpy as np

def W_p(w1,w2,g):
   return 1/2 * (w1 + w2) + 1/2 * np.sqrt(4*(g)**2 + (w2-w1)**2)

def W_m(w1,w2,g):
    return 1/2 * (w1 + w2) - 1/2 * np.sqrt(4*(g)**2 + (w2-w1)**2)

w1 = np.linspace(-10,10,1)
w2 = np.linspace(0.9,1.10,0.1)
g = 1

plt.plot(W_p(w1,w2,g), 'r', W_m(w1,w2,g), 'b')

plt.show()
GeneratorAD图形应与下图中的图形类似:


np.linspace()的最后一个参数是点数。它不应为1或0.1。试试100

numpy.linspace(开始、停止、num=50、端点=True、retstep=False、, 数据类型=无)

返回指定间隔内的等距数字

返回按间隔计算的等距采样数 [开始,停止]

可以选择排除间隔的端点

参数:

开始:标量序列的开始值

停止: 标量序列的结束值,除非端点设置为False。 在这种情况下,序列由num+1中除最后一个以外的所有元素组成 等间距采样,以便排除停止。请注意,步骤 端点为False时大小会更改

num:int,可选要生成的样本数。默认值为50。必须是非负的

必须改变

w1 = np.linspace(-10,10,1)
w2 = np.linspace(0.9,1.1,0.1)


你得到的结果是什么?结果在哪里?
w1 = np.linspace(-10,10,100)
w2 = np.linspace(0.9,1.1,100)