2

在 NumPy 中,我试图表示以下形式的微分方程:y' = p(t)y + g(t),其中p(t)是 nxn 矩阵,并且g(t)是 nx1 矩阵。就像是:

y' = [[1,5], [2,1]] + [[e^t], [1]]

我知道如何在 NumPy 中表示矩阵,但我将如何表示包含变量的矩阵(例如,2te^t)?

4

1 回答 1

1

这种意义上的“变量”(如,y是 的函数t)可能应该由该变量域的一维数组表示。这将增加数组的维度(使其成为域的大小(长度为(n, n, m))。mt

如果您打算使用 scipy ode 求解器,那么您可以将其编写为函数,而不是

t = np.arange(0, 10, .1)
y' = [[1,5]*len(t), [2,1]*len(t)] + [[np.exp(t)], [1]*len(t)]

您需要执行以下操作:

def yderiv(t):
    return [[1,5], [2,1]] + [[np.exp(t)], [1]]
于 2013-04-30T15:52:38.940 回答