求指数积分函数的逆函数

2024-10-10 00:21:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,我必须找到x。 但是我必须使用特殊的函数Ei-指数积分,x在Ei的自变量内。 所以Python无法识别它。在

ei(mx) = te^r + ei(c)

这里RHS和m是一个常数。 我想找到x的值,然后将它附加到一个列表中。但是Python不能做到这一点。在

from scipy import special
import matplotlib
import matplotlib.pyplot as plt
import numpy as np

Y = []
X = np.arange(0,10,.1)
for i in X:
    y = scipy.special.expi(i)
    Y.append(y)

N_0 = 2
t_f = 100
r = 2
K = 100
N_t = [N_0,]
t = np.arange(0,100,1)
for i in t:
    l = i*e**r + scipy.special.expi(r*N_t[i]/K)
    N_t.append(l)
plt.plot(X,Y)
plt.plot(t,N_t)
plt.show

Tags: inimportforplotmatplotlibasnpplt
1条回答
网友
1楼 · 发布于 2024-10-10 00:21:06

我更正了您代码中的一些错误,给出了以下内容。您应该逐行将其与代码进行比较。在

from scipy.special import expi
import matplotlib
import matplotlib.pyplot as plt
import numpy as np

Y = []
X = np.arange(0,10,.1)
for i in X:
    y = expi(i)
    Y.append(y)

N_0 = 2
t_f = 100
r = 2
K = 100
N_t = [N_0,]
t = np.arange(0,100,1)
for i in t:
    l = i*np.exp(r) + expi(r*N_t[i]/K)
    N_t.append(l)
plt.plot(X,Y)
plt.plot(t,N_t)
plt.show()

但是,仍然有一个可能的缺陷,我注意到了,无法解决。最后,你在同一个图中画出X和t,但X的范围在0到10之间,t的范围在0到100之间。这是你想要的吗?在

matplotlib还抱怨在第二次plot调用中提供给它的向量的长度不一样。在

相关问题 更多 >

    热门问题