Skip to main content
 首页 » 编程设计

python之NumPy 中的变量

2025年05月04日8虾米哥

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

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

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

请您参考如下方法:

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

如果您计划使用 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]]