我使用 cramers 方法找到我的线性方程组的 3 个解的函数有什么问题?
Whats wrong with my function for finding the 3 solutions to my set of linear equations using cramers method?
我刚刚开始学习 python,具有基本的 javascript 经验。我正在尝试在我的数学 class.
中使用 Cramer 规则创建一个函数来求解我的线性方程组
不要介意这些评论,但如您所见,我设法在前两个单元格中以两种不同的方式求解了方程式。但是当我试图让我的 cramers 发挥作用时,我没有得到相同的答案。似乎在第一个循环之后,有些东西坏了。我也是堆栈溢出的新手,所以如果我做错了什么,我很抱歉。
请注意 for i in range(0,2)
returns 仅 [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)
我刚刚开始学习 python,具有基本的 javascript 经验。我正在尝试在我的数学 class.
中使用 Cramer 规则创建一个函数来求解我的线性方程组不要介意这些评论,但如您所见,我设法在前两个单元格中以两种不同的方式求解了方程式。但是当我试图让我的 cramers 发挥作用时,我没有得到相同的答案。似乎在第一个循环之后,有些东西坏了。我也是堆栈溢出的新手,所以如果我做错了什么,我很抱歉。
请注意 for i in range(0,2)
returns 仅 [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)