- ベストアンサー
逆算式を作りたい
D=A x C x (1-B/100)^(A-1) という式があるのですが、 B,C,Dが分かっている時にAを求める式を知りたいです。 A,B,C,Dは0より大きい数値です。 よろしくお願いいたします。 ちなみにこれまでは、エクセルで予想した範囲のAを代入して探していました。
- みんなの回答 (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
その他の回答 (3)
- info33
- ベストアンサー率50% (260/513)
グラフィックソフトGRAPEを利用して,グラフ的に逆関数を描いてAの値を読み取るやり方もあります。x=cy(1-b/100)^(y-1) (y>0) 例として, 計算ししたい (B,C,D) の組を書いてくれれば Aの値を求めてみますが...
お礼
ご回答有難うございました。質問元の問題が解決する前に他に追われて失念していました。申し訳ありません。
- gamma1854
- ベストアンサー率52% (307/582)
指数部分および、係数に未知数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)
初頭関数では表現できません。 エクセルがあるのなら,ソルバーを使って求めるのが手っ取り早いです。使い方は検索してください。
お礼
ご回答有難うございました。質問元の問題が解決する前に他に追われて失念していました。申し訳ありません。
お礼
丁寧なご回答有難うございました。質問元の問題が解決する前に他に追われて失念していました。申し訳ありません。