回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有这个密码:</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
def rownanie(Y, t, l, q, a, u):
y1, y2, z1, z2 = Y
dydt = [y2, ((l*q)/a)*(1/y1)*(1-z2*u), z2, (a*y2*u)/y1]
return dydt
l = 100
q = 1
a = 10
u = 0.25
y0 = -1
z0 = 0
y0_prim, z0_prim = 0, 0
t = np.linspace(0, 100, 10001)
sol = odeint(rownanie, [y0, y0_prim, z0, z0_prim], t, args=(l,q,a,u))
print(sol)
plt.plot(sol[:, 0], sol[:, 2])
plt.xlabel('Y')
plt.ylabel('Z')
plt.grid()
</code></pre>
<p>所以我有4列数据,比如说[:,0]到[:,0]。我只需要关注两个:[:,0],[:,2]。当我把它画出来的时候,它是一个调和函数。[:,0]是值,[:,2]是参数。我需要找到这些参数的值是最大值,或者我需要差,两个参数(两个最大值)之间的距离,我尝试了“如果”,但是这些值是近似值,所以它们不一样。你能帮我做这个吗?你知道吗</p>