• 締切済み

式の計算方法を教えてください

ずいぶん昔に勉強したかもしれませんが、すっかりわかりません。 以下の式でxを求めたいのです。 どなたか教えてください。 宜しくお願いします。 Y=(B(D+x)^e)/(A(C+x)^f)

みんなの回答

noname#101087
noname#101087
回答No.4

>...... エクセルを使って少しずつ理解していきたいと思います。 #3 の勘定は間違ってました。あのまま追試されると混乱するので、参考までにやり直し。 ------------------------------------------------------ >  W = 1.6 = {(0.4+x)^0.2}/{(0.2+x)^0.3}  …(1) 強引に e=f=0.3 と仮想して解き、初期近似 x0 とする。   1.6 = {(0.4+x0)/(0.2+x0)}^0.3   x0 = -0.147239 これを式(1)に代入して、   W0 = 1.835900 両辺微分で、   dW0/W0 = [0.2/(0.4+x0) - 0.3/(0.2+x0)]*dx0   dx0 = -(dW0/W0)/[0.2/(0.4+x0) - 0.3/(0.2+x0)]     = 0.026251 これから補正解を求める。   x1 = x0 + dx0 = -0.120989   W1 = 1.658889 以下、繰り返し。 EXCEL によると、この Newton 法の   x5 = -0.108161 にて dx5 = 0 に収束。  

noname#101087
noname#101087
回答No.3

勝手な一例を計算してみると、割と単純。 Y=(B(D+x)^e)/(A(C+x)^f)   y = 1   A = 800   B = 500   W = 800/500 = 1.6   C = 0.2   D = 0.4   e = 0.2   f = 0.3 原式を変形して、   W = 1.6 = {(0.4+x)^0.2}/{(0.2+x)^0.3}  (1) 強引に e=f=0.2 と仮想して解き、初期近似とする。   1.6 = {(0.4+x0)/(0.2+x0)}^0.2   x0 = -0.051854 これを式(1)に代入すると、   W0 = 1.435969 両辺微分で、   dW0/W0 = [0.2/(0.4+x0) - 0.3/(0.2+x0)]*dx0   dx0 = -(dW0/W0)/[0.2/(0.4+x0) - 0.3/(0.2+x0)]     = -0.078749 これから補正解を求める。   x1 = x0 + dx0 = -0.130603   W1 = 1.712679 以下、繰り返し。 EXCEL によると、この Newton 法の   x6 -0.108161 で dx6 = 0 に収束。  

nayamu2009
質問者

お礼

親切に有難うございます。 当方は基礎知識が薄いので、頂いた内容を見ながら エクセルを使って少しずつ理解していきたいと思います。

noname#101087
noname#101087
回答No.2

>以下の式でxを求めたい ......... >Y=(B(D+x)^e)/(A(C+x)^f) 一般的には、Newton 法などにより逐次求解するしかなさそうな形です。 たとえば、e, f ≠ -1 とでもしましょう。 原式を変形して、   W = {(D+x)^e}/{(C+x)^f} 両辺微分で、   dW/W = [e/(D+x) - f/(C+x)]*dx これを使って、一次微分の Newton 法。  

nayamu2009
質問者

お礼

ありがとうございます。 この計算は、やはり私には難しい内容でした。 効率的に(少ない計算回数で)解を探すための方法がNewton法であることを調べました。エクセルへの実装法なども記載があるようなので 原理理解を進めた上でやってみたいと思います。

  • banakona
  • ベストアンサー率45% (222/489)
回答No.1

これは難しいですね。 まず、eかfの少なくとも一方が「自然数または0」でない場合はお手上げです。AやDなどが具体的な値なら、エクセルのソルバーなどで解くことになるでしょう。 次に、eもfも「自然数または0」の場合ですが、分母をはらって  Y(A(C+x)^f)=(B(D+x)^e) ・・・* となるのでxのn次方程式になります。 e≠fの場合は、e,fのどちらか大きい方を次数とするn次方程式(n=max(e,f))になります。しかし、nが5より大きければ代数的に解くことができないので、やはりエクセルのソルバーなどのお世話になることになります。 e=fの場合は、たとえe>4であっても、運よく高次の項が消えて4次以下の方程式になれば代数的に解けますが、そうでなければエクセルのソルバーなどで解くことになります。 たとえ、*が3次か4次の方程式になったとしても、その解の公式は結構むずかしいので、私なら最初からエクセルで解きます。 最後になりましたが、*が解けたら、A(C+x)^f=0となる解を除くのをお忘れなく。

nayamu2009
質問者

補足

ありがとうございます。 私には難しいものだったんですね。 実際に計算したい数値は、 Y:0.7~1.5ぐらい AやBは、500~900ぐらい CやDは、0.1~0.5ぐらい eやfは、0.1~0.3ぐらい です。 ソルバーを用いれば良いとの理解しましたが、 その辺がよくわからないので調べてみます。