• ベストアンサー

逆算式を作りたい

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
  • ベストアンサー率54% (287/522)
回答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% (7996/17095)
回答No.1

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

rongyi-jian
質問者

お礼

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

関連するQ&A

  • 逆算式の解き方を教えてください。

    いつも素敵なアドバイスを頂き、感謝しています。 今回、数式の解き方が判らずに悩んでおります。 数学が得意な方のアドバイスをいただければ幸いです。 ●通常の計算 X=A-B-C-D 通常は上記の計算でXを導き出して処理している業務を Xを元にAを導き出さなければならなくなりました。 ●逆算式 A=X+B+C+D X=指定値(例:100,000) A=未知数 B=Ax7.5%x5% C=Ax7.5% D=C この場合のAの求め方についてアドバイスをお願いいたします。

  • エクセルのセルに記述した式をVBAで読込む方法

    エクセルのセルに  a*x^2+b*x+c という式を埋め込んでおいて  (式はa,b,cの数値は定数、xはマクロ側でいろいろな数値を指定されます。) VBAのマクロに  ε=a*x^2+b*x+c のように式を埋め込む方法はないでしょうか。 例えば  n=....  x=sin(n*3.14/180) ε=a*x^2+b*x+c  Range(”D2”).value=ε   この中段の行にエクセルのセルの式を呼び出したいのです。 この式はセルにはいろいろな2次式、3次式が任意に組み込まれ、VBAを実行するたびに埋め込まれた式に自動的に記述し直すようにしたいのです。 (数式の結果の数値を入れるのではなくて式を入れたいのです) 可能でしょうか。その場合どのようなコードが考えられるでしょうか。 よろしくお願いします。

  • 式に含まれる変数の消去法について

    A+B=6 C+D=6 C/A=D/B X=AC Y=B^1/2D^1/2 これらの式から変数ABCDを消去して XとYのみで式を作りたいのです 答えはX^1/2+Y=6だそうです いろいろとあっちこっち式を代入すること2時間奮戦したのですが無理でした よろしければ計算過程を教えて下さい あとこのような場合この式をここにこの順序で代入すれば答えが出るだろうというような法則とかコツのようなものがあるんでしょうか? 数学的なセンスなのでしょうか?

  • 一次不等式について

    都立三流高校の者です。 数学についての質問です。 1次不等式なのですがこういう問題です。 (問) A<x<B、C<y<Dであるとする。次の式の値の範囲をそれぞれ不等式で表せ。 (ァ) x-y こういう問題です。で僕はA-C<x-y<B-Dとしました。 そのまま素直にAとC、BとDを対応させたのです。 が解答にはA-D<x-y<B-Cとあります。 これは何故でしょうか。 解説を読むとこの式の導き方はありそれ自体は自力でも分かるのですが 何故そんな面倒な事をする必要があるのでしょうか? というよりむしろ僕の式ではなぜ違うのでしょうか? 教えて下さい

  • Excelについての質問です。

    エクセルについての質問なのですが、 A列の数値だけをB列から選び出して、そこから更に選び出したBと同じ行にあるCをDに代入したいのですが、どのようにすればよいでしょうか?    A   B   C   D 1  0.1  0.1  5 2  0.5  0.3  10 3  1.2  0.4  20 4  2.3  0.5  40 5  3.7  0.7  80 6  4.7  1.0  160 7  5.9  1.2  320 わかりにくい表ですが、この場合 A1の「0.1」、B列で「0.1」といえばB1になります。それをBと同じ行のC1の数値「5」をD1に代入。 A2の「0.5」、B列で「0.5」といえばB4になります。それをBと同じ行のC4の数値「40」をD2に代入。 A3の「1.2」、B列で「1.2」といえばB7になります。それをBと同じ行のC7の数値「320」をD3に代入。    D 1  5 2  40 3  320 4  ・ 5  ・ 6  ・ という結果にしたいのですが・・・。 これは可能なのでしょうか? わかりづらい質問ですが、宜しくお願いします。

  • あるセル内の計算結果を固定数値として違うセルに代入する方法

    あるセルで計算した結果を違うセルの位置に固定数値として代入する方法はあるのでしょうか? 例えば、A1のセルに変数Xが入っており、B1のセルに変数Yが入っていたとします。 そしてC1のセルで、ある計算をしていたとします。 で、X=Yの条件を満たした時はC1のセルの計算結果の数値をセルD1に数値として自動で代入するという作業をやらせたいのです。 試しに適当なセルに、=IF(A1=B1,D1=C1,0)なんて式を作ってみましたが、当然のようにD1=C1なんて表現はできないのでエラーとなります。 D1のセルに=IF(A1=B1,C1,0)と入れれば、A1=B1の条件を満たした時だけはD1のセルにC1の計算結果が入りますが、D1のセル内が数値でなくあくまで条件式である以上、条件が変わればエクセル上のD1のセルの表示も変わってしまいます。あくまでC1の計算結果の数値をそのままD1に数値のデータとして入力させて記憶させておきたいのですが。 どうやったらいいのでしょうか? D1のセルに=C1と入れておけば、D1のセルにはC1の計算結果が常に表示されるわけですが、C1の計算自体が他のセルのデータによってその都度変動するため、D1も同じように変動してしまいます。 ですので、A1=B1を満たした時のC1の計算結果をD1に記憶させておくという作業をしたいわけなんです。

  • エクセルの数値選択で

       A   B   C   D --------------------------- 1  100   500  1000  5000    … 2   3     4     5     6     … 3   5     3     5     7     … 4   2     3     4     5     … 5   4     5     2     7     … の表があったとします。 X1のセルに数値を入力すると、その数値が100未満ならX2に3~X5に4を代入、100<=X1<500ならX2に4~X5に5を代入するなど、複数の列に対し1行目の数値を判定し2行目以下の数値を指定のセルに代入したいと思います。 4以上の複数列に対しては、どのような式を使えばいいのでしょうか。IF式を使ったのですがうまくいきません。 どなたかご教示ください。

  • 5次曲線に接する直線の式の求め方

    どなたか、ご教示お願いします。学問ではなく実務に適応させる必要からの質問です。実験で得られた数十個の点群の系列を最小二乗法の近似式でエクセルの散布グラフから得ました。 F(x)=a*x^5+b*x^4+c*x^3+d*x^2+e*x^1+f a=0.0452 b=-8.6275 c=658.58 d=-25133 e=479520 f=-4E+06 この式で表現されるグラフに F(x)=0.57735*x+g :gは未知数 で示される接線の式を求めたい(g値を求める)のですが可能でしょうか。 可能であれば式をご教示ください。 数値演算の方法でも構いません。

  • 反復計算で指数方程式の解を求めたい

    よろしくお願いいたします。以下方程式(単調増加関数)のxについて求めたいです。 a x + (b x)^1/(n+1) +(c x)^1/(m+1) - d=0 a, b, c, d (定数)を各列に代入、各行の右側にxを求める式を代入し計算するシートを作りたいです。反復計算、循環参照を使用しa,b,c,dの列の横に数式をコピペして一括て求めたいです。 近似解でも良いです。 ためしに式を変形し x={(b x)^1/(n+1) +(c x)^1/(m+1) - d}/a として、たとえば a,b,c,dがA1, B1, C1, D1に代入されており E1:=((B1*F1)^1/(n+1)+(C1*F1)^1/(m+1) -D1)/A1 F1:=E1 として循環参照をさせ、反復回数100、精度0.0001に設定し計算したところ どちらのセルも計算されず、#NUM となってしまいました。 (d=0のときのみx=0と計算できました。) a~d及び指数のn,mの数値の範囲は以下です。 a:0.04-0.07 b:90-100 c:70-90 d:0-100 n::0.157 m:0.352 ニュートン法を用いると負のべき乗または負の指数を計算することになって#NUMとなってうまくいきません。この問題をどうにか回避して計算する方法をご存知の方、ご教示いただきたくお願いします。

  • 分数漸化式の成立条件

    お世話になります。よろしくお願いします。 ただ今、分数漸化式の成立条件について考えているのですが苦戦しています。 数列のn項をX(n)として、 ある分数漸化式を X(n+1)=(aX(n)+b)/(cX(n)+d) (c≠0)・・・・(1) とします。 この時漸化式(1)が成り立つ初項X(1)の条件あるいは範囲を求めたいのです。 つまり初項X(1)の値によっては漸化式の分母『cX(n)+d』が0になってしまうのでそうならないX(1)の範囲を知りたいのです。 以下途中まで考えた部分です。 cX(n+1)+d=0とならない条件は cX(n+1)+d=c(aX(n)+b)/(cX(n)+d)+d ={c(a+d)X(n)+bc+d^2}/(cX(n)+d) なので、 c(a+d)X(n)+bc+d^2≠0 a+d=0、bc+d^2=0では漸化式が成り立たないので、 cX(n+1)+d=0とならない条件は X(n)≠ー(bc+d^2)/{c(a+d)}となることである。・・・(2) 要するに(2)の条件を満たすX(1)の範囲を求めたいのですが、 X(n)の条件をX(1)の条件にうまく結び付けられません。 この後の方針をよろしくお願いします。