24小时热门版块排行榜    

查看: 361  |  回复: 1

xuhaohang

新虫 (初入文坛)

[求助] 讲义中关于“求函数f(x)=x^2-5的正根”的程序中有疑惑,望解答 已有1人参与

疑问在下文中出现在感叹号后:
题目如下:求函数f(x)=x^2-5的正根,容许的误差是10^-6.我们可以知道这个正根在2和3之间(!请问是怎么知道正根在2和3之间的?)。我们可以以x=2为初始猜测值,初始步长为0.5.程序如下:
program main
implicit none
real::x,tolx=1.0E-6,h=0.5,f-old
x=2.0
f-old=fnf(x)
do while(h>tolx)
x=x+h
print*,x,sqrt(5.0)-x   !请问在此处的“根5-x”是什么意思?
if(f-old*fnf(x)>0)cycle
x=x-h
h=h/2.0
enddo
contains
function fnf(x)
implicit none
real::x
real fnf
fnf=x*x-5.0
end function fnf
end
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhswee

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
2,3带入,函数值一负一正,因函数连续,所以零点必在2,3之间。为什么选的是2和3?这个可随意,只要出现一负一正就行。2.1,2.9也行,2,3只是为了简单方便而已。

[ 发自小木虫客户端 ]
2楼2014-10-06 18:57:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xuhaohang 的主题更新
信息提示
请填处理意见