ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュのニュートン・ラプソン法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
ニュートン・ラプソン法で、
3 s i n x + s i n 3 x = x 2
の根を求めるプログラムを作成しなさい。

初心者なので、全く分かりません。
こんだけ難しいのを解ってしまう人っているんですか?
げっそり

コメント(14)

これ、解はあっても根は無いんじゃ…?
あとx 2ってなに?
ニュートン近似は金融の計算でなんどか使った
(うまくパラメータを設定しないと発散したりするけど)原理はとても簡単
図示してみたらすぐわかる

ただ、もし
y = 3 sin X + sin 3 X の 解
となると・・・・ちと困るなぁ

周期関数はニュートン近似には向かないんだよ
x=0近辺で計算しようにも、x=0 でおしまい 近似計算いらんですよ
> 鳥猫さん
ありがとうございますグッド(上向き矢印)グッド(上向き矢印)頑張りますっダッシュ(走り出す様)わーい(嬉しい顔)
繰り返しを終わりにする条件がわからないです!!
教えてください↓
import java.io.*;

public class NewtonMethod {


public static void main(String args[]) throws IOException
{
System.out.println("初期値を入力して下さい!!!");

BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

String str= br.readLine();

double x=Double.parseDouble(str);
double a=0.00001;

while (true){
double x3 = x * 3;
double xN = x - (3*Math.sin(x)+Math.sin(x3)-x*x)/(3*Math.cos(x)+3*Math.cos(x3)-2*x);
if (xN>=x && xN-x<a){
break;
}
x = xN;
}
System.out.println(x);
}}

こうすると、答えがひとつにしかならなく、なんか違うんです。
教えてください。
プログラムが正しいかどうかは検証してないけど、ニュートン法で近似値出したら、1つしか答えでないんじゃないの?


> なんか違うんです。

どういう入力値に対して、どういう出力を想定していて、実際にはどうなったんですか?
『違う』と判断じた理由はなんですか?
> 繰り返しを終わりにする条件がわからないです!!

だったら終了条件が違うってのは言うまでもなく分かるわけで。
> seraphさん
2つになりましたあせあせ(飛び散る汗)
ありがとーございましたexclamationわーい(嬉しい顔)
> 鳥猫さん
使ったら出来ました!ありがとーございましたぴかぴか(新しい)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング