最近我想编写一些代码来进行拉普拉斯逆变换。
我使用mpmath.invertlaplace函数。
它工作得很好,但是我想删除for循环以获得此结果。
这里是一个例子。
import mpmath as mp
def func = lambda s: 1 / (s + k)
Time = mp.linspace(1,10,100)
result = []
for i in Time:
value = mp.invertlaplace(func, i, method = 'stehfest', degree = 32)
result.append(value)
return Time, result
[不幸的是,我不能将数组用于mpmath.invertlaplace函数。
我还有其他库或函数吗?
我不确定您是否真正了解了您想要的内容,但是您在上面提供的代码中有几个错误使它无法正常工作。首先,func
没有“ def”,因此应该为:
func = lambda s: 1.0/(s + 1.0)
此外,k
中的lambda
也未定义,所以我只是为了使代码开始而使其等于一(1.0)。
下面的代码可以正常工作。从它开始,您可以(希望)对其进行更改以实现您的目标。
import mpmath as mp
func = lambda s: 1.0/(s + 1.0)
Time = mp.linspace(1,10,100)
result = []
for i in Time:
value = mp.invertlaplace(func, i, method = 'stehfest', degree = 32)
result.append(value)
print (i, value)
希望有帮助。祝你好运!