• ベストアンサー

Xの近似値を小数で求めたいです。

下記の計算式にて、Xの値を求めたいのです。 A-B( X^0+X^1+X^2+・・・・+X^(C-1) )=0 このような計算式です。 Xの累乗の数字は0から順にC-1の数値になるまで1ずつ増えていきます。 もしC=3ならば A-B( X^0+X^1+X^2 )=0 となります。 シグマを使って書き換えると、     C-1 A-B( Σ X^k )=0     k=0 ↑こんな感じの式になると思います。 この場合の、Xの値(近似値)を小数で求める計算式を誰か教えてください。 数学から離れて10年近く経ちます。 そんな私にも分かりやすく解説して頂けると助かります。 また、計算式が見にくい、間違っている、もしくは意味がわからない等ありましたらぜひご指摘ください。 非常に困っております。 どうかよろしくお願いします!!

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

  • ベストアンサー
  • Mell-Lily
  • ベストアンサー率27% (258/936)
回答No.1

等比数列の和の公式から、  x^0+x^1+x^2+…+x^(C-1)=(x^C-1)/(x-1) ですから、以下、式変形によって、  A-B(x^C-1)/(x-1)=0  B(x^C-1)/(x-1)=A  (x^C-1)/(x-1)=A/B  x^C-1=A/B(x-1)  x^C=A/B(x-1)+1  x^C-A/Bx+A/B-1=0 となります。 あとは、ニュートン法を用いて、この方程式の解の近似値を求めることができます。

参考URL:
http://hp.vector.co.jp/authors/VA013845/algorithm/newton.html
kutar
質問者

お礼

迅速なご回答、ありがとうございます! 計算式、大変参考になりました。 等比数列の和の公式ですか~、もうすっかり忘れてしまってました(笑)。 まずは計算式を見てむむむと感心&思考させられ、そのあと参考サイトを見ながらニュートン法についてまたまた頭を悩ませ、 ようやく何とか答えが求められるくらいにまでたどり着きました。 本当に助かりました。ありがとうございました!!!

その他の回答 (1)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

No.1はちとまずい点を含んでいます。 A-B( X^0+X^1+X^2+・・・・+X^(C-1) )=0 B≠0として良いでしょう。いちいち面倒がないように a=A/B と書くことにすれば、 a-(X^0+X^1+X^2+・・・・+X^(C-1))=0 …(1) という方程式です。  この両辺にXを掛けると aX-(X^1+X^2+X^3+・・・・+X^C)=0 …(2) (1)と(2)の差をとって (a-aX)-(X^0 - X^C) = 0 だから a(1-X)-(1-X^C) = 0 …(3) となります。もちろん、これは回答No.1と同じ式です。  ところで、上記の操作を別の表現で言い直せば、(1)の両辺に(1-X)を掛けたものが(3)式です。すなわち(3)式は (1-X)(a-(X^0+X^1+X^2+・・・・+X^(C-1)))=0 …(4) とも書ける。つまりこの方程式は、本来求めたい(1)の解の他に、X=1という嘘の解を持っていることが判ります。  ですから、(3)式をニュートン法で解くと、X=1に行き着いてしまう恐れがある。もう少し検討が必要だと思います。

kutar
質問者

お礼

ご丁寧な補足、ありがとうございます! No.1の方(Mell_Lilyさん)のご回答ですっかり納得していたのですが、意外な落とし穴があったんですね。 実はこの計算式は、とあるプログラム開発にどうしても必要で、でもどんなに頭を悩ませても今の私の知識では解答にたどり着けず、 どなたかのお知恵をお借りしようと思いまして今回質問させて頂くに至ったのです。 No.1の方に教えて頂いた参考サイトの内容にて、何とか解決しそうです。 stomachmanさんのご回答も、Xが持ちえる値の可能性のひとつとしてとても参考になりました。 本当にありがとうございました!!

関連するQ&A