我可以对时间数组进行拉普拉斯逆变换吗?

问题描述 投票:0回答:1

最近我想编写一些代码来进行拉普拉斯逆变换。

我使用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函数。

我还有其他库或函数吗?

python transformation mpmath
1个回答
0
投票

我不确定您是否真正了解了您想要的内容,但是您在上面提供的代码中有几个错误使它无法正常工作。首先,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)

希望有帮助。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.