查看: 72|回复: 3|关注: 0

[已答复] 一个矩阵B,无论是求行列式,还是求逆的时候出来的结果都是NaN,已经对矩阵进行了B(find(isnan(B)==1)) = 0,还是一样,这该如何解决呢?

[复制链接]

新手

10 麦片

财富积分


050


3

主题

13

帖子

0

最佳答案
发表于 2019-10-10 10:54:54 | 显示全部楼层 |阅读模式
>> det(B)

ans =

   NaN

>> B(find(isnan(B)==1)) = 0;
>> det(B)

ans =

   NaN

捕获.PNG

入门

75 麦片

财富积分


50500


2

主题

146

帖子

13

最佳答案
  • 关注者: 6
发表于 2019-10-10 11:11:24 | 显示全部楼层
能把你的矩阵数据上传一下吗?单看代码好像是没有问题的。

新手

10 麦片

财富积分


050


3

主题

13

帖子

0

最佳答案
 楼主| 发表于 2019-10-10 11:49:23 | 显示全部楼层
Leedear 发表于 2019-10-10 11:11
能把你的矩阵数据上传一下吗?单看代码好像是没有问题的。

已经传了,矩阵都是数值,顶多大了点...

B.mat

1.14 MB, 下载次数: 2

入门

75 麦片

财富积分


50500


2

主题

146

帖子

13

最佳答案
  • 关注者: 6
发表于 2019-10-10 12:32:23 | 显示全部楼层
思嘉333 发表于 2019-10-10 11:49
已经传了,矩阵都是数值,顶多大了点...

我检查了一下你的矩阵,你的矩阵里面是没有NaN了,但是还有Inf,所以你要把Inf替换掉才行,这样才能得到你想要的结果。加一句:B(isinf(B) == 1) = 100;如果我的回复对你有帮助,请支持我的回帖或者选为最佳答案,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表