Fortran Coder

查看: 65|回复: 4

[数值问题] Fortran计算奇异矩阵问题

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
17 元
贡献
8 点
发表于 2020-6-16 18:08:39 | 显示全部楼层 |阅读模式
编写的程序中,有一段代码是计算矩阵的逆矩阵的,但是计算到求逆矩阵的时候就会提示这个矩阵的逆矩阵是奇异矩阵, Singular matrix from CMatrixInv with D =
(0.000000000000000E+000,0.000000000000000E+000),但是我在代码的下面输入write(*,*)命令让其显示该矩阵时,就会直接显示矩阵,也不会在提示奇异矩阵,请教各位大佬这是怎么回事?
回复

使用道具 举报

531

帖子

1

主题

0

精华

大宗师

F 币
2639 元
贡献
1684 点
发表于 2020-6-16 19:56:23 | 显示全部楼层
代码有bug,只能自己调试

128

帖子

2

主题

0

精华

大师

F 币
769 元
贡献
400 点

规矩勋章

发表于 2020-6-17 08:14:36 | 显示全部楼层
近似奇异矩阵求逆有专门的算法,另找吧。输出和奇异矩阵没任何关系。

2

帖子

1

主题

0

精华

新人

F 币
17 元
贡献
8 点
 楼主| 发表于 2020-6-17 10:57:34 | 显示全部楼层
necrohan 发表于 2020-6-17 08:14
近似奇异矩阵求逆有专门的算法,另找吧。输出和奇异矩阵没任何关系。

刚开始用Fortran也不太懂,这是个1024次循环变量的,变量在其他数值时都没事,但是循环到4,5,11时就出现了这个问题,让变量在4时,单独计算也会出现这样的显示,但是这时候在这个代码前后在输入write命令,让它显示矩阵,这个时候矩阵就会正常显示,也不会显示出错误,所以一直没搞懂怎么回事,另外虽然都这样显示,但是每次都能计算出结果。有没有什么能查找一下问题,请大佬赐教

128

帖子

2

主题

0

精华

大师

F 币
769 元
贡献
400 点

规矩勋章

发表于 2020-6-18 08:03:31 | 显示全部楼层
这不是fortran的问题,是算法的问题
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2020-7-8 18:02

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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