python matplotlib画双阱函数图
时间: 2023-05-23 21:03:27 浏览: 62
这是一个关于 Python Matplotlib 画双阱函数图的问题,可以回答。以下是一个示例代码:
```
import numpy as np
import matplotlib.pyplot as plt
def double_well_potential(x, a, b):
return a * x ** 4 - b * x ** 2
x = np.linspace(-2, 2, num=100)
y = double_well_potential(x, a=1, b=1)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Potential Energy')
plt.title('Double Well Potential Energy Function')
plt.show()
```
这个函数用于画一个具有双阱的势能函数图,可用于展示分子动力学模拟中的分子的势能面。
相关问题
python matplotlib画双阱函数f(x)=h(x^2-l^2)^2/l^4+kx的图,调参数k使其对应的函数图显示在同一张图里
好的,以下是Python的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
def f(x, h, l, k):
return h * ((x**2 - l**2)**2) / (l**4) + x*k
x = np.linspace(-5, 5, 500) # -5到5之间生成500个点
fig, ax = plt.subplots(1, 1) # 创建一个画板和一个子图
ax.plot(x, f(x, 1, 1, 1), label='k=1')
ax.plot(x, f(x, 1, 1, 2), label='k=2')
ax.plot(x, f(x, 1, 1, 3), label='k=3')
ax.set_xlabel('x')
ax.set_ylabel('f(x)')
ax.legend()
plt.show()
```
你可以自己调整h和l的值,来改变函数的形状。
python matplotlib画双井函数图
可以使用以下代码画出双井函数图:
```python
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y1 = 1 / (1 + np.exp(-x))
y2 = 1 / (1 + np.exp(x))
plt.plot(x, y1, label="y=1/(1+e^(-x))")
plt.plot(x, y2, label="y=1/(1+e^(x))")
plt.axvline(x=0, linestyle="--", color="grey")
plt.axhline(y=0.5, linestyle="--", color="grey")
plt.legend()
plt.show()
```
这将会画出一个双井函数图,其中 y=1/(1+e^(-x)) 和 y=1/(1+e^(x)) 分别表示两个井,图中还有一条竖直的虚线和一条水平的虚线分别表示 x=0 和 y=0.5。