如何在Python中基于数组的长度创建变量?

如何在Python中基于数组的长度创建变量?,python,numpy,matrix,linear-algebra,Python,Numpy,Matrix,Linear Algebra,因此,我试图用Cramer法则求解线性方程组,我面临的主要问题是,我必须根据矩阵的维数每次创建Ax,Ay,…一个变量。Python中是否有任何方法可以让程序根据矩阵维度启动的循环自动创建变量?我在这里找到了Python解决方案(以及几乎任何其他语言): 对于Python3.7.3,它给出的结果是w=2.0x=-12.0y=-4.0z=1.0。您遇到的错误是什么?我想使用np.matrix,如果我将列表键入np.matrix,则此代码无效。好的,对不起,我成功了,我做了一些计算错误。您能为np.m

因此,我试图用Cramer法则求解线性方程组,我面临的主要问题是,我必须根据矩阵的维数每次创建Ax,Ay,…一个变量。Python中是否有任何方法可以让程序根据矩阵维度启动的
循环自动创建变量?

我在这里找到了Python解决方案(以及几乎任何其他语言):


对于Python3.7.3,它给出的结果是w=2.0x=-12.0y=-4.0z=1.0。您遇到的错误是什么?我想使用
np.matrix
,如果我将
列表键入
np.matrix
,则此代码无效。好的,对不起,我成功了,我做了一些计算错误。您能为
np.matrix
成功吗,现在我正在使用这段代码,将矩阵实现为
np.array
您可以将您的ABC np.matrix转换为np.array,它将正常工作。用法:A=A.getA()B=B.getA()[0]C=C.getA()您没有将矩阵实现为np.array。你有np矩阵。但是,对np.matrix调用getA()将返回它的np.array变量。
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])