研究の掃溜ノオト
since 2011/2/13 知能ロボ研究の合間に思ったこととか書いてます。
ランベルトのW関数
指数関数と多項式が混ざった方程式を解くときによく出てくる”ランベルトのW関数”。
これは
f(x)=x*e^x
の逆関数として定義されています。
反復計算による関数値の計算法はよく知られているようです。
ちなみに
x=c*e^x
の解は
W(-c)
となります。
(両辺をexpで割って-1をかければ出るはず!)
参考文献:ランベルトのW関数(wikipedia)
W(c)を求める。10^1オーダーの計算で大体収束します。速いです!
Scilabソース
**********************************************************
これは
f(x)=x*e^x
の逆関数として定義されています。
反復計算による関数値の計算法はよく知られているようです。
ちなみに
x=c*e^x
の解は
W(-c)
となります。
(両辺をexpで割って-1をかければ出るはず!)
参考文献:ランベルトのW関数(wikipedia)
W(c)を求める。10^1オーダーの計算で大体収束します。速いです!
Scilabソース
**********************************************************
//calculate W(z)
z=10;
//initial value
w1=0;
for i=1:20
w2=w1-(w1*exp(w1)-z)/((exp(w1)*(w1+1)-(w1+2)*(w1*exp(w1)-z)/(2*w1+2)))
w1=w2;
end
w1
PR
この記事へのトラックバック
トラックバックURL
この記事へのコメント