【发布时间】:2020-09-19 04:34:25
【问题描述】:
所以我正在尝试使用 克莱默法则 求解线性方程组,而我面临的主要问题是我必须创建 Ax,Ay,...An 变量每次都基于矩阵的维度。 Python中是否有任何方法可以让程序根据为矩阵维度启动的for循环自动创建变量?
【问题讨论】:
标签: python numpy matrix linear-algebra
所以我正在尝试使用 克莱默法则 求解线性方程组,而我面临的主要问题是我必须创建 Ax,Ay,...An 变量每次都基于矩阵的维度。 Python中是否有任何方法可以让程序根据为矩阵维度启动的for循环自动创建变量?
【问题讨论】:
标签: python numpy matrix linear-algebra
我在这里找到了一个 python 解决方案(以及几乎任何其他语言):https://rosettacode.org/wiki/Cramer%27s_rule
from numpy import linalg
A=[[2,-1,5,1],[3,2,2,-6],[1,3,3,-1],[5,-2,-3,3]]
B=[-3,-32,-47,49]
C=[[2,-1,5,1],[3,2,2,-6],[1,3,3,-1],[5,-2,-3,3]]
X=[]
for i in range(0,len(B)):
for j in range(0,len(B)):
C[j][i]=B[j]
if i>0:
C[j][i-1]=A[j][i-1]
X.append(round(linalg.det(C)/linalg.det(A),1))
print('w=%s'%X[0],'x=%s'%X[1],'y=%s'%X[2],'z=%s'%X[3])
【讨论】:
np.matrix,如果我将list 转换为np.matrix,则此代码不起作用
np.matrix工作吗,现在我通过将矩阵实现为np.array来使用这段代码