首页 > 解决方案 > 我的函数使用克莱默方法找到我的一组线性方程的 3 个解有什么问题?

问题描述

我刚刚开始学习具有基本 javascript 经验的 python。我正在尝试在我的数学课上使用克莱默规则来创建一个函数来解决我的一组线性方程。

不要介意评论,但正如您所见,我设法在前两个单元格中以两种不同的方式求解方程。但是当我试图让我的补习班发挥作用时,我没有得到相同的答案。似乎在第一个循环之后,有些东西坏了。我也是堆栈溢出的新手,所以如果我做错了什么,很抱歉。

在此处输入图像描述

标签: pythonmathmatrixlinear-algebra

解决方案


请注意,for i in range(0,2)仅返回[0,1]因此 2 没有被遮蔽。此外,在您的用例中,第一个数字 (0,是不必要的。

此外,您忘记按照克雷默规则的要求在每次迭代中重置 B1!!!!所以到第二次迭代,替换矩阵的det`已经是0了!我相信你打算做类似的事情:

for i in range(3):
    B1 = A.copy()           //this line will make sense for kremer's rule
    B1[:,i] = b
    solution.append(np.linalg.det(B1)/np.linalg.det(A))
print(solution)

推荐阅读