[問題] 使用while求多項式根問題QQ
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev c++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
f(x)=X^6 -2.6X^5 +2.57X^4 -1.248X^3 +0.316X^2 -0.04X +0.002
利用指定g(x)=x+f(x)
進行迭代,直到小於設定的誤差
即當g(X0)=X0時
X0即為一根
根分別為1 0.5 0.5 0.2 0.2 0.2
但是使用while跑出來總是0.00000000...
餵入的資料(Input):
隨意,僅為初猜值
預期的正確結果(Expected Output):
根據fixed point方法
他應該是要跑出來6個根中的一個根...
錯誤結果(Wrong Output):
0.0000000000
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
double g;
double f;
double x;
printf("輸入初猜值");
scanf ("%f",&x);
while(abs(g-x)>=0.002){
f=pow(x,6)-2.6f*pow(x,5)+2.57f*pow(x,4)-1.248f*pow(x,3)+0.316f*pow(x,2)-0.04f*x+0.002f;
g=x+f;
x=g;
}
printf("%.12f",x);
system ("pause");
return 0;
}
補充說明(Supplement):
無
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.118.198
※ 編輯: billiron 來自: 59.112.118.198 (03/18 15:25)
→
03/18 15:33, , 1F
03/18 15:33, 1F
→
03/18 15:34, , 2F
03/18 15:34, 2F
→
03/18 15:34, , 3F
03/18 15:34, 3F
推
03/18 15:35, , 4F
03/18 15:35, 4F
→
03/18 15:35, , 5F
03/18 15:35, 5F
推
03/18 15:39, , 6F
03/18 15:39, 6F
→
03/18 15:39, , 7F
03/18 15:39, 7F
→
03/18 15:40, , 8F
03/18 15:40, 8F
→
03/18 15:43, , 9F
03/18 15:43, 9F
→
03/18 15:43, , 10F
03/18 15:43, 10F
→
03/18 15:44, , 11F
03/18 15:44, 11F
→
03/18 15:45, , 12F
03/18 15:45, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章