Fortran Coder

查看: 8334|回复: 3
打印 上一主题 下一主题

[数值问题] 关于计算值出错,不影响运行问题,补充多图

[复制链接]

17

帖子

9

主题

0

精华

入门

F 币
104 元
贡献
62 点
跳转到指定楼层
楼主
发表于 2015-3-9 20:19:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 SNZB0405 于 2015-3-10 11:15 编辑

这个子函数用来计算X ,Y方向各个节点值。正常来说,应该是x(i=0~16,1) ,x(0~32,2) ,x(0~64,3),x(0~128,4),x(0~256,5)这些值不为0(y数组与x数组类似)。但是实际计算结果却是除了最开始的x(i=0~16,1) ,其他计算出来的结果全是0.
另,在3L 又补充了两张图,这个子函数是用来计算初始值的,所以它计算出错应该跟后续部分程序没有关系。而且这部分代码在计算nx(t),dx(t)时没有错误,就到计算x(i,t),y(j,t)时出现了错误。而且这个错误是它的计算错误,并不影响程序的运行,但是因为它计算的初始值的错误,导致后面的计算结果不正常的。想不通为什么,求助。。。

45.png (18.14 KB, 下载次数: 281)

45.png

43.png (10.3 KB, 下载次数: 275)

43.png

46.png (7.9 KB, 下载次数: 264)

46.png

53.png (6.87 KB, 下载次数: 270)

53.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2015-3-10 10:24:59 | 只看该作者
你这样给一些debug的截图,其实对你的问题帮助并不大。
至少我们不知道当时的断点在哪里。
最好是给全部代码+数据。

从代码上看,你可以检查一下 nx(t) 是不是 = 16,也就是说,17就没计算。

17

帖子

9

主题

0

精华

入门

F 币
104 元
贡献
62 点
板凳
 楼主| 发表于 2015-3-10 10:51:25 | 只看该作者
楚香饭 发表于 2015-3-10 10:24
你这样给一些debug的截图,其实对你的问题帮助并不大。
至少我们不知道当时的断点在哪里。
最好是给全部代 ...

嗯。这个子函数计算的是一些初始数据,跟其他的程序部分没有关系,而且这个子函数的运行没有问题,也就是说虽然计算的数据是错的,但是却可以顺利运行。这个nx(t)的值我检查了,应该没有问题,包括利用nx(t)计算dx(t)这步应该也没有问题,dx(t)的值也是正确的。所以我实在想不出来为什么只在计算x(i,t)和y(j,t)的时候会出错。。。
您说的全部数据怎么调出来,然后上传呢?这两张图片都是表示后续的一部分数据,也就是这个x(i,t)和y(j,t)后面都被计算成0了,除了最开始的那16个节点值。。。。

51.png (26.35 KB, 下载次数: 296)

51.png

52.png (26.9 KB, 下载次数: 282)

52.png

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2015-3-10 11:18:20 | 只看该作者
1.全部代码
2.如果有屏幕输入,告诉我应该输入什么。如果有文件输入,上传文件。(这就是我说的全部数据)
3.我觉得你应该多学习一下如何 Debug,我觉得你的问题都可以用 Debug 来观察解决。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-24 07:49

Powered by Tencent X3.4

© 2013-2024 Tencent

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