發表文章 | 發起投票 |
Java計integration
是咁的
如果我有一個definite integral
function f(x)係given左既, 而家我當個integral既答案係c
我想寫一個method, 個parameter係a同埋c
可以approximate到個b出黎
舉個例子, 如果f(x)係normal distribution, 我想搵一個數值b, 令到係x=0同x=b之間, 個面積係45%
如果而家係given function同lower+upper limits, 計個integral個答案就好簡單
用trapezoidal rule就搞掂
呢到都有code
http://introcs.cs.princeton.edu/java/93integration/TrapezoidalRule.java.html
但調轉要given integral個答案同埋a, 去搵b就好大問題
第一, 因為而家冇左b既value, 係個program入面我用trapezoidal就冇辦法用b去砌一個合適既delta x = (b-a)/n
咁都算, 我將佢改做dN, 擺一個好細既value
但個method個body可以點寫? 唔通真係首先寫個integration既method, 好似條link入面果個咁
public double integrate (double a, double b, int N) {
...
}
跟住再用while, 跟住再run成萬次integrate method逐個掃?
public double get_b (double a, double p, double dN) {
double c = a;
while(integrate(a,c,10000)<p){
c = c + dN;
}
return c;
}
}
(係呢到p係個面積, 代指probability, 因為f(x)係一個prob distribution function)
雖然係work, 但個program會慢撚到仆街
有冇聰明d既方法可以唔使咁繁複
sorry for 1999
如果我有一個definite integral
function f(x)係given左既, 而家我當個integral既答案係c
我想寫一個method, 個parameter係a同埋c
可以approximate到個b出黎
舉個例子, 如果f(x)係normal distribution, 我想搵一個數值b, 令到係x=0同x=b之間, 個面積係45%
如果而家係given function同lower+upper limits, 計個integral個答案就好簡單
用trapezoidal rule就搞掂
呢到都有code
http://introcs.cs.princeton.edu/java/93integration/TrapezoidalRule.java.html
但調轉要given integral個答案同埋a, 去搵b就好大問題
第一, 因為而家冇左b既value, 係個program入面我用trapezoidal就冇辦法用b去砌一個合適既delta x = (b-a)/n
咁都算, 我將佢改做dN, 擺一個好細既value
但個method個body可以點寫? 唔通真係首先寫個integration既method, 好似條link入面果個咁
public double integrate (double a, double b, int N) {
...
}
跟住再用while, 跟住再run成萬次integrate method逐個掃?
public double get_b (double a, double p, double dN) {
double c = a;
while(integrate(a,c,10000)<p){
c = c + dN;
}
return c;
}
}
(係呢到p係個面積, 代指probability, 因為f(x)係一個prob distribution function)
雖然係work, 但個program會慢撚到仆街
有冇聰明d既方法可以唔使咁繁複
sorry for 1999
本貼文共有 0 個回覆
此貼文已鎖,將不接受回覆
發表文章 | 發起投票 |