English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

以2分法球出方程式f(x)=0的根 ->x^2-4x+2=0 , x=?

1.將根之左右2點a.b之初始值設為low 與 high

2.以x=(low+high)/2求low與high的中心點x

3.若f(x)>0則根位於x的左邊,high=x,將上限縮至一半,
若f(x)<0則根位於x的右邊,low=x,並將下限縮至一半

4.設f(x)為求0或 high-low (abs)/low(abs) 否則反覆執行2.以後各項步驟

條件:當f(a).f(b)>0時,輸出無解

2006-11-19 07:41:09 · 4 個解答 · 發問者 nature9936 2 in 教育與參考 考試

請使用while [high-low(abs)>10^-5]
如: next= (high+low)/2
if f(next)>0
high=next
next=(high+low)/2
else
low=next
next=(high+low)/2
...

2006-11-19 07:57:26 · update #1

不好意思,敘述的不詳細,abs是絕對質,EPS在這裡定義為10^-5次方,麻煩各位了!

2006-11-19 17:34:47 · update #2

抱歉了,舉個例,譬如說x^2-3x+2=0,該如何利用Low點(a)以及High點(b)擇一範圍,利用迴圈逐漸縮小範圍,使範圍趨近於"x"(其10^-5為預設接近值,越大則越趨近x),麻煩了!

2006-11-22 17:23:26 · update #3

Sorrry~那麼就以上例:x^2-3x+2=0來解求x,
a & b自行設定,可以嗎?

2006-11-23 18:16:19 · update #4

感謝 kui的回覆,我會於後天回家驗證一下,
如果您能補充一下式子的說明那就更棒了!

2006-11-24 18:56:46 · update #5

kui老師,想請教一下,當Low點(a)訂為0and High點(b)訂為1,是否x還有一解:0.58578,另外,倘若此為sin波,是否會一定跑出兩個解?如何同時顯示此2解?
不好意思,麻煩您了!

2006-11-26 11:50:14 · update #6

請教一下"using namespace std;"其語意為何?有何功用?而"bool nosol"的用途 & 使用方式能否稍加說明,感謝!

2006-11-27 18:51:27 · update #7

4 個解答

因為x^2-3x+2=0的解1和2有點明顯,所以我還是用最上面的x^2-4x+2=0來做例子,求出x=3和4之間的一根,參考看看。#include #include using namespace std;double f(double x) // f(x){ return x*x-4*x+2; // x^2-4x+2}int main(){ double next,a,b,low=3,high=4; bool nosol=true; // 無解 a=low; b=high; while(fabs(high-low)>1E-5) {  next=(low+high)/2;  if(f(high)*f(next) > 0)  {   high=next;  }  else  {   nosol=false; // 有解   low=next;  } } if(nosol) {  cout<answer #1 · answered by chan 5 · 0 0

請教:
next=(low+high)/2;
if(f(high)*f(next) > 0)
{
high=next;
......
如果high=5,low=5代入,何以能顯示出無解?

2006-11-28 23:12:14 補充:
此外,
此次當我將low點訂為0,
但high點改訂為9,
為何只會顯示一解:x=3.41421
而未顯示另一解:x=0.585793呢??

2006-12-02 01:26:12 補充:
嗯!感謝您的說明,我只是好奇一大範圍中包含兩個解,為何通常只會顯示x=3.41421而非x=0.585793,anyway thanks a lot !

2006-11-28 17:45:38 · answer #2 · answered by nature9936 2 · 0 0

天ㄚ~好難..看不懂~><

2006-11-28 14:11:35 · answer #3 · answered by 美萱 2 · 0 0

你的abs跟EPS是啥

2006-11-19 07:49:52 · answer #4 · answered by 小洛 2 · 0 0

fedest.com, questions and answers