主题:[讨论]在FORTRAN中怎么求平方根呀??
xiaomingguigui
[专家分:30] 发布于 2007-09-17 17:27:00
我初学fortran
不好意思,我用SQRT()和DSQRT()求了几次平方根,提示说没有这种表示方法
我就不知道怎么弄了
希望大家多多帮忙呀??
回复列表 (共9个回复)
沙发
f2003 [专家分:7960] 发布于 2007-09-17 17:43:00
program se
print *,sqrt(17.1)
end program se
揭锅: 4.135215
板凳
fortran1 [专家分:540] 发布于 2007-09-17 22:28:00
试试**0.5能否算
3 楼
asymptotic [专家分:16630] 发布于 2007-09-17 23:07:00
2 楼的伙计,你也许不知道 sqrt 和 **0.5 所使用的算法在效率上的差别;问题还不仅在此,还有解析延拓方面的问题,这个也是 Fortran 的 “灰色区域”。所以,你以后千万别再建议别人开平方根的时候用 **0.5 。
顺便提一下,有些计算机开平方根可以用硬件实现。
4 楼
echopurple [专家分:20] 发布于 2007-09-18 17:07:00
也许是别的地方出问题了吧?比如说括号中出现负数。
5 楼
yananfei [专家分:470] 发布于 2007-09-20 11:59:00
REAL A
SQRT(A):其中A必须为浮点数,比如A=7.0
6 楼
caoziyin [专家分:40] 发布于 2007-09-27 12:08:00
SQRT()和DSQRT()比**0.5速度快许多,DSQRT()是对于双精度的
7 楼
caoziyin [专家分:40] 发布于 2007-09-27 12:09:00
你的()要在半角输入下有用,全角当然不行
8 楼
yukun [专家分:20] 发布于 2007-10-10 16:29:00
求3次方根怎么求?
**(1/3)肯定不对吧
9 楼
yezi1012 [专家分:50] 发布于 2007-10-10 16:56:00
[quote]求3次方根怎么求?
**(1/3)肯定不对吧[/quote]
**(1./3.)
我来回复