用 R 寫二分法的問題

看板Statistics作者時間19年前 (2007/03/13 23:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
delta0=0 delta1=1 while(abs(L(delta0,B)$Ld-delta0)>0.00001) 黃色是我寫好的fun. { phi1=delta0 phi2=delta1 phim=(phi1+phi2)/2 if((L(phi1,B)$Ld-phi1)*(L(phim,B)$Ld-phim)<0) { delta0=phi1 delta1=phim } else { delta0=phim delta1=phi2 } if (abs( L(phim,B)$Ld-phim )<0.0001) break } delta0 delta1 ---------------- 以上是我的code -------------------------------- 我的問題是... > delta0 [1] 0.9972603 > delta1 [1] 0.9972603 (delta0,delta1是我按stop才停止程式得到的值) 怎麼會 delta0 = delta1 呢?? 都是一直 相加除以2 下去~ 怎麼會出現相等呢?? 是不是 R 只取到小數點以下第七位~ 要怎麼修改呢? 謝謝 -- 夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子 之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下 矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以 喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫 之令而自均始制有名名亦既有夫亦將知止知止59-115-229-233.dynamic.hinet.net
文章代碼(AID): #15ziNV00 (Statistics)
文章代碼(AID): #15ziNV00 (Statistics)