请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师您好,我在测试线性系统模块的时候遇到了一个问题:

测试矩阵的增广矩阵都可以正常打印,但是一旦加入判断是否有解的代码,在测试下面的例子时:
A2 = Matrix([[0,2,3,4],[0,1,1,1],[0,2,2,2]])
b2 = Vector([4,3,4])
Ab2 = LinearSystem(A2, b2)
程序报错:
Exception has occurred: IndexError
list index out of range
line 51, in _backward
self.Ab[j] = self.Ab[j] - self.Ab[j][k] * self.Ab[i]
line 56, in gauss_jordan_elimination
self._backward()
line 23, in
if not Ab2.gauss_jordan_elimination():
而测试您给出的最后一个例子时可以正常输出No Solution,但是包括上面的这个以及一些其他的例子中就会发生报错。请问这是什么原因导致的呢?

正在回答

1回答

liuyubobobo 2020-02-06 16:49:01

我用这一章的最后的代码,即第八小节的代码,测试你的这个例子,没有问题。


代码传送门:https://git.imooc.com/coding-260/coding-260/src/master/06-Linear-System/08-Implement-General-Gauss-Jordan-Elimination/playLA


下载课程的官方代码,在你的环境下测试一下这个例子,看看是否有同样的问题?如果没有问题,仔细对比调试一下,看看自己的代码是否有问题?


另外,这一章的视频讲解中,实现有一个小错误,可以参考这里:http://coding.imooc.com/learn/questiondetail/77727.html


继续加油!:)

1 回复 有任何疑惑可以回复我~
  • 提问者 慕用5023886 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-02-06 17:18:49
  • 提问者 慕用5023886 #2
    谢谢老师!官方代码在我的环境下没有问题。我在刚刚重新测试的时候重新输入了这个例子发现就没有报错了,应该是刚刚输入格式出了问题。抱歉打扰老师了。
    回复 有任何疑惑可以回复我~ 2020-02-06 17:21:32
  • liuyubobobo 回复 提问者 慕用5023886 #3
    继续加油!:)
    回复 有任何疑惑可以回复我~ 2020-02-06 17:24:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信