Graphics Programming

액션스크립트로 lambertW 함수 구현 본문

Season 1/수학

액션스크립트로 lambertW 함수 구현

minseoklee 2012. 1. 27. 01:10
lambertW 함수 설명
- Wolfram http://mathworld.wolfram.com/LambertW-Function.html 
- Wikipedia http://en.wikipedia.org/wiki/Lambert_W_function 
- 네이버 baek449 http://blog.naver.com/baek449/120102271153

급수 전개로 구현하려고 했는데 오차가 너무 심해서 뉴튼법을 썼다.

package codeonwort.math {
/**
* 램버트W 함수 (뉴튼법을 이용하여 근사치 계산)
*/
public function lambertW(x:Number, iteration:uint=10):Number {
var soln:Number = x
var exp_soln:Number
for(var i:int=0 ; i<iteration ; i++){
exp_soln = Math.exp(soln)
soln -= (soln * exp_soln - x) / (exp_soln + soln * exp_soln)
}
return soln
}
}


Comments