我必須用泰勒級數計算sin(x),直到輸出有6位小數位。爭論是一個角度。我沒有實現檢查小數位,我只是打印下一個值(以檢查它是否工作),但在10-20次迭代後,它顯示無窮大/ NaN。泰勒級數 - 計算sin(x)直到6位數精度
我的想法有什麼問題?
public static void sin(double x){
double sin = 0;
int n=1;
while(1<2){
sin += (Math.pow(-1,n)/factorial(2*n+1)) * Math.pow(x, 2*n+1);
n++;
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
}
// CHECKING THE PRECISION HERE LATER
System.out.println(sin);
}
}
公式:
爲什麼你想這樣做?應該把代碼作爲一個數字aproximation?然後你的probaly應該檢查你的小數,如你所述 – AlexWien
這是問題任務: 實施sin(x)方法計算sin(x )與泰勒的6位數字精度系列<<這就是我所有 系列是無限的,我認爲這'6位數'是循環結束條件 – Qbix
而且代碼工作?,發佈結果,輸入值和每次迭代的輸出。前9次迭代後的值是否錯誤?可能10次迭代要多,並且不要在一行中寫公式,您不能調試它們,對每個項使用一個變量:如double divisor = factorial(2 * n +1);進一步的一些數學概念在計算機程序中效果不好。所以你可能已經得到了一些如何解決這個問題的信息。 – AlexWien