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