如何在python中在矩阵中存储变量

如何在python中在矩阵中存储变量,python,numpy,sympy,equation,solver,Python,Numpy,Sympy,Equation,Solver,快速问题:如何在矩阵中存储变量或数学表达式?例如: 对于一维阵列: T[1,2]=(T[0,1]+T[2,3])/2 T[2,3]=(T[1,2]+T[3,4])/2 然后我解这个方程组 附言:我试图创建一个二维矩阵来模拟和求解矩形板上的热扩散 所以基本上我使用的是中心欧拉法,我需要建立网格所有点的方程组,显示它们,然后求解它们。当然我有边界条件和值 这大概是我在Maple中使用的代码逻辑: L = 15 H = 15 dx = 3 dy = 3 ndx = int(L/dx) ndy =

快速问题:如何在矩阵中存储变量或数学表达式?例如:

对于一维阵列: T[1,2]=(T[0,1]+T[2,3])/2 T[2,3]=(T[1,2]+T[3,4])/2

然后我解这个方程组

附言:我试图创建一个二维矩阵来模拟和求解矩形板上的热扩散

所以基本上我使用的是中心欧拉法,我需要建立网格所有点的方程组,显示它们,然后求解它们。当然我有边界条件和值

这大概是我在Maple中使用的代码逻辑:

L = 15
H = 15

dx = 3
dy = 3

ndx = int(L/dx)
ndy = int(H/dy)

i_max = ndx-1
j_max = ndy-1

Tb = 10
Tl = 40
Tr = 60
Tt = 90

N = (ndx-1)*(ndy-1)


# T = np.ones(([ndx, ndy]))
T = np.empty(ndx, ndy, dtype=np)

# boundary conditions assignement:

T[:, 0] = Tl
T[:, -1] = Tr
T[0, :] = Tt
T[-1, :] = Tb    
T[0, 0] = (Tt + Tl)/2
T[0, -1] = (Tt + Tr)/2
T[-1, 0] = (Tb + Tl)/2
T[-1, -1] = (Tb + Tr)/2

# Equations:

for i in range(1, i_max):
    for j in range(1, j_max):
        T[i, j] = (T[i-1, j] + T[i+1, j] + T[i, j-1] + T[i, j+1])/(-4)
        print(T[i,j])

# Solution:

for i in range(1, i_max):
    for j in range(1, j_max):
        s = np.solve(T[i,j], [i,j])
        print(s)