数值计算中开方出现无穷值
运行的时候,显示开方错误。我在调试的过程中找到了那一行,应该是出现了无穷值,导致开方错误。。。。但是找不出问题的根源是什么,求大神给我查查看啊,跪谢了! 既然都找到错误行了,那么继续向上调试吧。看看是哪个变量无穷大,继续向上插入断点,追踪是在哪里出现了无穷大。部分编译器也允许把浮点错误抛出,可以修改设置后运行,查看哪里出现了浮点数错误。
Debug 是基本功,希望你学会。
在我的编译器上,这段代码可以正常运行。其中的 TEST15.txt 部分内容为
1 0.120E+03
2 0.240E+03
3 0.360E+03
4 0.480E+03
5 0.600E+03
6 0.720E+03
7 0.840E+03
8 0.960E+03
9 0.108E+04
10 0.120E+04
11 0.132E+04
12 0.144E+04
13 0.156E+04
14 0.168E+04
15 0.180E+04
16 0.192E+04
17 0.204E+04
18 0.216E+04
19 0.228E+04
20 0.240E+04
21 0.252E+04
22 0.264E+04
23 0.276E+04 fcode 发表于 2014-4-1 16:10
既然都找到错误行了,那么继续向上调试吧。看看是哪个变量无穷大,继续向上插入断点,追踪是在哪里出现了无 ...
管理员大人,你好,请问一下,在你的编译器上,这段代码能运行不出错么?是什么编译器啊?
谢谢您的帮助,DEBUG不是不熟悉啊,只会一点点粗浅的内容
我用的 IVFXE2013 ,能运行是能运行,但是有很多 NaN。
原因大概在 198 行附近。
DV2=((YY(J+1)-YY(J))/(XX(J+1)-XX(J))-(YY(J)-YY(J-1))/(XX(J)-XX(J-1)))*2/(XX(J+1)-XX(J-1))
这里大概是个微商求导。但是 XX 有相邻的点相等的,于是造成了除数为 0
页:
[1]