• 締切済み

アプレットで三次方程式1

JAVAアプレットで ax^3+by^2+cz+d=0 a≠0 を解く、というレポートができません。 分かる方がいたら、宜しくお願いします。

みんなの回答

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

質問文でまた疑問が出てきました。 ax^3+by^2+cz+d=0 となっていますが、これでは解けません。 ax^3+bx^2+cx+d=0 ではないのですか? もう一つ。otuki-samaさんは、「カルダノ法」「ニュートン法」が何を意味するかわかってますか? それで回答ですが、 プログラムそのものを書けば簡単ですが、 面倒くさいのと、レポートを代りに書くのは気が進まないので、それはやりません。 方針だけ示します。 複素数計算がわりと難しいので、 ニュートン法を使って計算する方が簡単だと思います。 ニュートン法は、 (1)最初のxを適当にとって、 (2)x - (f(x) / f'(x))を新しいxとおいて、 (3)f(x)の値の絶対値がある程度以下ならば、それを解とする。 というやりかたです。 いろいろやり方はあるでしょうが、以下は一例です。 ・(1)の「最初のx」は1.0あたりにとる。 ・(2)のループはwhile文を使う ・(3)の「ある程度」は0.0000000001くらいにする。

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

コンピュータで3次方程式を解く場合、 (1)3次方程式の解の公式を使って解く (2)2分法やニュートン法などで解く の二つの方法がありますが、問題ではどちらを要求されていますか?

otuki-sama
質問者

補足

カルダノ法、またはニュートン法と使うこと、 がヒントになってました。 どうでしょうか?

関連するQ&A