具有傅里叶级数算法的拉普拉斯逆变换

时间:2016-12-05 19:14:14

标签: python algorithm math transform symbols

我有一个基于傅里叶级数算法的拉普拉斯逆变换的代码。假设我需要在t = 1时找到以下函数的逆拉普拉斯变换:

f = 1 /(s-1)

f的逆拉普拉斯变换是:e ^(t)

在t = 1时,结果是= e。这是我的代码,在这种情况下它运作良好。

delegate void SetDataSourceHandler(DataTable data); 

public void SetDataSource(dDataTable data)
{
    if (gvData.InvokeRequired)
            {
                gvData.Invoke(new SetDataSourceHandler(SetDataSource), new object[] { data });
                return;
            }
            nodosDataTableBindingSource.DataSource = data;

        }

async Task ProcesarMensajes()
{
...
 SetDataSource( GetList(nodes));
}

但我想在这里做一些更复杂的事情。在这段代码中,我在Laplace域中定义了我的函数:

from  numpy import *

M = 11
SU = zeros(M + 2)
C = zeros(M + 1)
C[0] = 1
for k in range(1, M + 1):
    C[k] = (M - (k - 1)) * C[k-1] / k
T = 1
A = 19.1
Ntr = 15
U = exp(A / 2.0) / T
X = A / (2.0 * T)
H = pi / T

def fnRf(X, Y):
  S = complex(X, Y)
  Fs = 1.0 / (S - 1)
  Rfs = real(Fs)
  return Rfs

Sum = fnRf(X, 0) / 2.0
for N in range(1, Ntr + 1):
    Y = N * H
    Sum += (-1) ** N * fnRf(X, Y)

SU[0] = Sum
for K in range(1, M + 2):
  N = Ntr + K
  Y = N * H
  SU[K] = SU[K-1] + (-1)**N * fnRf(X, Y)

Avgsu = 0.0
Avgsu1 = 0.0
for J in range(M + 1):
  Avgsu += C[J] * SU[J]
  Avgsu1 += C[J] * SU[J+1]
Fun= U * Avgsu / 2048
Fun1= U * Avgsu1 / 2048

print Fun1

我需要在拉普拉斯域中的函数中包含变量(或符号),当我将函数从拉普拉斯域转移到时域时,我需要保留该变量。例如:

f = C * 1 /(s-1)

在这种情况下,我想将上述函数从拉普拉斯域转移到时域, C 是未知变量。我想知道如何将这样的功能转移到时域。 我希望在时域中获得与C相关的内容。我已经尝试了一些但是我遇到了一些奇怪的错误。你能否告诉我如何在这段代码中做这样的事情?在此先感谢您的时间。

0 个答案:

没有答案