我寫一個Java裏面無限的總和相匹配 - 到t=infinity
寫一個無窮大數的公式,爲什麼這不是寫成的?
sqrt(t)*sech(t)^2 dt
從t=0
(無限總和從t = 0
開始,然後在t = infinity
結束我引用Wolfram Alpha的(數學)比較我的結果。)。
從更數學的角度來說,這(本質上)是程序在做什麼。我注意到這是平方(雙曲)割線。雖然,最大真的infinity-
integrate sqrt(t)*sech(t)^2 dt from t=0 to t=1000
爲了配合這無限的總和,我寫了以下的短節目。
public class TestSum {
public static void main(String[] args) {
newForm(0.5);
}
public static double newForm(double s) {
int n = 0;
double currentSum = 0;
while (n < 1000) {
double sech = 1/Math.cosh(n);
double squared = Math.pow(sech, 2);
currentSum = ((Math.pow(n, s))*squared) + currentSum;
if(n == 999)
System.out.println("The current sum is " + currentSum);
n++;
}
return currentSum;
}
}
當我插入到這個數學/鎢我得到 -
integrate sqrt(t)*sech(t)^2 dt from t=0 to t=1000
integral_0^1000 sqrt(t) sech^2(t) dt = 0.758128
結果從運行程序 -
run:
The current sum is 0.5401365941579325
BUILD SUCCESSFUL (total time: 0 seconds)
我敢肯定數學是沒有錯的。我的程序有什麼問題?
你不是應該採取開方的地方? –
這是如何遞歸?我沒有在任何地方看到遞歸 –
Math.pow(n,s)引用s = 0.5。我不確定是否應該從技術上將它歸類爲遞歸(它看起來與我相似,但我在數學上比在Java上好)。 – Axion004