こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

二分法の近似解について

二分法の近似解について

問題の解釈に自信が持てません。
お手数をお掛けします

以下問題です。
”f(x)=x^2-a (aは正数とする)として、二分法によって方程式f(x)=0の
近似解を小数点以下4桁まで正しく求めるプログラムを作成せよ。”

というものですが、これはaの平方根を小数点以下四桁まで求めろと解釈すればいいのですか?
主にプラス側とマイナス側からその差を0に収束するイメージがあります。

あと、aは何らかの数値を代入して良いものと解釈しました。
代入しないとアルゴリズムとして成立しませんよね?

以下コード(basic)です。

PRINT "f(x)=x^2-aのaを入力"
INPUT a
PRINT "区間の両端を入力"
INPUT i
INPUT j
IF (i^2-a)*(j^2-a)<0 THEN
DO WHILE ABS(i-j)>=0.00001
LET m=(i+j)/2
IF (i^2-a)*(m^2-a)<0 THEN
LET j=m
ELSE
LET i=m
END IF
LOOP
PRINT "f(x)=0の近似解はx=";i
ELSE
PRINT "両端の符号が同一です"
END IF
END

投稿日時 - 2010-10-11 20:46:48

QNo.6243313

暇なときに回答ください

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

>これはaの平方根を小数点以下四桁まで求めろと解釈すれば
>いいのですか?

いいえ、違います。たまたまこのような簡単な関数を例にして
(結果として、xがaの平方根になって)いるだけです。

区間[i,j]にあるf(x)=0の近似解を、逐次区間の幅を狭めながら、
求めようというものです。

basicプログラムのアルゴリズムを解読すれば、何を使用として
いるか分かります。流れを図に書いて、よく考えてみましょう。

使用しているのは、
f(i)F(j)<0 ならば、f(x)=0 の解が、区間[i,j]に存在する。
ということです。

その後、区間の幅を1/2に狭めて、繰り返し調べることを行って
います。

投稿日時 - 2010-10-11 21:37:12

お礼

ありがとう御座います。
取りあえず、フローチャートを書いてみます。

投稿日時 - 2010-10-11 21:48:29

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問