我现在正在写一套代码,用来解一个常微分方程。。。我的代码正在工作,但是,我想能够修改它来解决一组不同的常数值微分方程。这是我目前拥有的,如果ran有效的话。你知道吗
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
def f(w, x):
# d1 = omega lambda
d1 = w
b2 = 0.0
# 0.2<c<1.4, 0.20 increments
c = 0.2
q = (1 - d1 - (2*((d1**1.5)/c))) / (2 + (3*(b2)))
f = (d1**2) * (1 - d1) * ((1 / d1) + (2 / (c * (d1**0.5))) - ((3 * b2 * q) / (d1 * (1-d1))))
return f
#determine domain, x
x = np.linspace(-80, 80, 1000001)
d1 = 10 ** -8
sol = odeint(f, d1, x)
plt.xlabel("x")
plt.ylabel("Omega Lambda")
plt.plot(x, sol, 'r')
plt.show()
但是,我想构造一个由一组不同的c值产生的每一行组成的图。。。我想绘制的c的图形是:
c = 0.2,0.4,0.6,0.8,1.0,1.2,1.4
相关问题 更多 >
编程相关推荐