• ベストアンサー

指数を含んだ式の変形について

お世話になります。 実務上の都合で、下記の式を解きたいのですが、よろしくお願いいたします。 nX+Y^n=Z 上記の式を、nについて解く方法を教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.2

「実務上の都合」とのことなので、数学的な話には あまり御興味が無いかもしれませんが… nX+Y^n=Z を、少し変形します。 q=Z-nX で置き換えると Y^{(Z-q)/X}=q. 両辺の対数をとると、{(Z-q)/X}(log Y)=log q. 更に r=(q/X)(log Y) で置き換えると、 (Z/X)(log Y) - r = log( r(log Y)/X ) となり、 (log r) + r = log( (log Y)/X ) + (Z/X)(log Y) と整理できます。 この両辺を、指数関数へ代入すると、 r・e^r = {(log Y)/X}・Y^(Z/X)  です。 x・e^x の逆関数 …すなわち W(x)・e^W(x) = x が恒等的に成り立つような x の関数 w(x) は、 よく知られた超越関数で、「ランベルトの W 関数」と呼ばれています。 初等関数の組み合わせで書き表すことは不可能ですが、 数値計算ソフトウェアや、↓のようなサイトでは、近似値を計算してくれます。 http://www.wolframalpha.com/input/?i=W%28x%29 W 関数を使えば、上の式は r = W( {(log Y)/X}・Y^(Z/X) ) と解くことができ、変数変換を逆にたどれば、 n = Z/X - r/(log Y) で n が求まります。

redpoints
質問者

お礼

回答いただき、ありがとうございました。 現状は近似値としてnを0.1刻みでループを回して解いているのですが、これをもっと簡単に処理することができないかと思い、質問させていただきました。 恥ずかしながら、ご教示いただいた内容も理解し切れていないところがありますが、「初等関数の組み合わせで書き表すことは不可能」ということが分かっただけでもすっきりしました。 丁寧なご説明、感謝いたします。

その他の回答 (4)

回答No.5

時間差でしたね。昼間に繋がればもっと早く書けたんですが。

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.4

おや?同じ回答が。

回答No.3

とりあえずx=0とかy=1とか以下の変形に差し支える場合は個別に解いておくとして。 与式より nx+e^(nlog(y))=z z-nx=e^(nlog(y)) (z-nx)e^(-nlog(y))=1 -log(y)((z/x)-n)e^(-nlog(y))=-log(y)/x さて、 e^(z/x)log(y)=y^(z/x) より log(y)((z/x)-n)e^{log(y)((z/x)-n)}=(y^(z/x))log(y)/x よってランベルトのW関数 y=W(x)←→x=ye^y を用いて log(y)((z/x)-n)=W((y^(z/x))log(y)/x) 以上より n={zlog(y)-xW((y^(z/x))log(y))/x}/xlog(y) もっとも、W(t)の値を求めるには一般にニュートン法 a(n+1)=a(n)-{(a(n)-te^(-a(n)))/(1+a(n))} のa(n)に適当な近似値を初項として代入を繰り返して求める に頼るとかしかないですけどね。

redpoints
質問者

お礼

ご回答いただき、ありがとうございました。 No2様と同様に、詳細なご指導、ご説明感謝いたします。

  • f272
  • ベストアンサー率46% (8469/18132)
回答No.1

n[0]=0 n[k+1]=n[k]-(n[k]*X+Y^(n[k])-Z)/(X+ln(Y)*Y^(n[k])) として 反復計算させる。 うまくいくかどうかは保証しない。

redpoints
質問者

お礼

回答いただき、ありがとうございました。 マクロで解く際の参考にさせていただきます。

関連するQ&A