プロが教えるわが家の防犯対策術!

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

A 回答 (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くらいにする。
    • good
    • 0

コンピュータで3次方程式を解く場合、



(1)3次方程式の解の公式を使って解く
(2)2分法やニュートン法などで解く

の二つの方法がありますが、問題ではどちらを要求されていますか?

この回答への補足

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

補足日時:2003/09/16 18:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!