• ベストアンサー

逆算式を作りたい

D=A x C x (1-B/100)^(A-1) という式があるのですが、 B,C,Dが分かっている時にAを求める式を知りたいです。 A,B,C,Dは0より大きい数値です。 よろしくお願いいたします。 ちなみにこれまでは、エクセルで予想した範囲のAを代入して探していました。

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

  • ベストアンサー
  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.4

>D=A x C x (1-B/100)^(A-1) という式があるのですが、B,C,Dが分かっている時にAを求める式を知りたいです。 未知数 A を x として与式を単純化すると、  x*e^(ax) = b   …(1) の形になる (a, b は定数)。 一例を「Newton 法」で解いてみる。  f(x) = x*e^(0.9*x) = 2.0 見込み零点 x = 1.0 からスタート。  f(1) = e^(0.9) = 2.45960  f'(1) = 1.9*e^(0.9)*1 = 4.67325  df(1) = f(1) - 2.0 = 0.45960    ↓ これらから改良近似零点 xr を勘定  xr = 1.0 - df(1)/f'(1) = 1.0 - 0.09835 = 0.90165 以下、この勘定の繰り返しが下表。   x      f(x)     f'(x)     df       dx -----    -----    -----     -----     ----- 1.00000   2.45960   4.67325   0.45960   -0.09835 0.90165   2.02985   3.85671   0.02985   -0.00774 0.89391   1.99846   3.79707   -0.00154    0.00041 0.89432   2.00010   3.80018   0.00010   -0.00003 0.89429   1.99999   3.79999   -0.00001    0.00000   

rongyi-jian
質問者

お礼

丁寧なご回答有難うございました。質問元の問題が解決する前に他に追われて失念していました。申し訳ありません。

その他の回答 (3)

  • info33
  • ベストアンサー率50% (260/513)
回答No.3

グラフィックソフトGRAPEを利用して,グラフ的に逆関数を描いてAの値を読み取るやり方もあります。x=cy(1-b/100)^(y-1) (y>0) 例として, 計算ししたい (B,C,D) の組を書いてくれれば Aの値を求めてみますが...

rongyi-jian
質問者

お礼

ご回答有難うございました。質問元の問題が解決する前に他に追われて失念していました。申し訳ありません。

  • gamma1854
  • ベストアンサー率52% (307/582)
回答No.2

指数部分および、係数に未知数Aがあり、この等式をAについて解くことはできません。そのため、B~Dが既知の場合にAの近似値を計算するNewton法によるプログラムが必要になります。 以下に、その漸化式を示します。入力したB, C, Dに対し、 D/C=k, 1 - B/100=r と置いています。 A[n+1]={1 - ln(A[n])+ln(k*r)}/{1/A[n] + ln(r)}....(*) ーーーーーーーー ※ 初期値 A[0] を適当に与え、(*)を繰り返し計算させます。普通は4~5回の繰り返しで与式を満たすrの精密な近似値が得られます。

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

初頭関数では表現できません。 エクセルがあるのなら,ソルバーを使って求めるのが手っ取り早いです。使い方は検索してください。

rongyi-jian
質問者

お礼

ご回答有難うございました。質問元の問題が解決する前に他に追われて失念していました。申し訳ありません。

関連するQ&A