這個是標準正態(tài)分布的積分。
灤南ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
求出a0+a1x1+a2x2+a3x3+a4x4+a5x5+a6x6+a7x7+a8x8,然后查正態(tài)分布表
P=φ(a0+a1x1+a2x2+a3x3+a4x4+a5x5+a6x6+a7x7+a8x8)
對于這種?(t)=1/√2π exp(-t^2/2)求不出不定積分的函數,軟件和程序只能估算出他們在一個
已知的數值處的積分值。。因為a0+a1x1+a2x2+a3x3+a4x4+a5x5+a6x6+a7x7+a8x8不是個已知的數值,所以算不出來的。。
這個不是很復雜的java問題.我以前編過,只是數學上的算法問題.你既然說了定積分,那么肯定就是直接算出數值的了,還記得微積分的概念嗎,每段dx乘上對應的y值,盡量使dx變小,那么算出來的值很接近,我記得我以前算出來的值可以接近10^-8,其實可以更小.推薦一本書,我以前看的,java數值,去書店看看,整本書都是講述用java解決數學問題的,有不同的逼近方法.
定積分
import static java.lang.Math.*;
public class homeworkfour {
// 0~1區(qū)間n等分
private static int n = 100000;
// 隨便定義個曲線e的x次方, 取其x在0~1的定積分;
public static double f(double x) {
double f;
f = pow(E, x);
return f;
}
// 梯形法求定積分
/**
* x0: 坐標下限, xn: 坐標上限
*/
public static double getDefiniteIntegralByTrapezium(double x0, double xn) {
double h = abs(xn - x0) / n;
double sum = 0;
for (double xi = 0; xi = xn; xi = xi + h) {
sum += (f(xi) + f(xi + h)) * h / 2;
}
return sum;
}
/**
* x0: 坐標下限, xn: 坐標上限
*/
// 矩形法求定積分, 右邊界
public static double getDefiniteIntegralByRectangle1(double x0, double xn) {
//h: 步長
double h = abs(xn - x0) / n;
double sum = 0;
for (double xi = 0; xi = xn; xi = xi + h) {
sum += f(xi + h) * h;
}
return sum;
}
// 矩形法求定積分, 左邊界
public static double getDefiniteIntegralByRectangle2(double x0, double xn) {
double h = abs(xn - x0) / n;
double sum = 0;
for (double xi = 0; xi = xn; xi = xi + h) {
sum += f(xi) * h;
}
return sum;
}
/**
* 測試定積分
*/
public static void main(String[] args) {
System.out.println(getDefiniteIntegralByTrapezium(0, 1));
System.out.println(getDefiniteIntegralByRectangle1(0, 1));
System.out.println(getDefiniteIntegralByRectangle2(0, 1));
}
}