「旧課程(-2012年度)高等学校数学B/数値計算とコンピューター」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎2分法: ラムダ式と範囲をパラメーター化。assertでleftが異常なのかrightが異常なのかの検査を分離。イプシロン判定を絶対値に変更。実行結果を追加。
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎2分法: Schemeでも実行結果を表示するようにした。
タグ: 2017年版ソースエディター
103 行
1.0000000000291038
</syntaxhighlight>
:このコードは<math>\lambda(x)=x-1</math>、または、<math>\lambda(x)=x^2-1</math>のときに試された。結果は 0.9999999999417923 および 1.0000000000291038 であり、正し充分1.0に近い値を返している。
: &nbsp;
;[[Scheme]]による[https://paiza.io/projects/4Du9cGTR0Q3-UWWN24JEqw コード例]:<syntaxhighlight lang="Scheme">
(define (bisection f a b) ;手順1。
(let ((e (expt 10 -10))
116 行
(else (bisection f mid_point b))))) ;ここまでが手順3
 
;;>(print (bisection (lambda (x) (- (expt x 2) 1)) 0 3)) ;x^2-1の解を0〜3間で探す。
;;;実行例
;;>(print (bisection (lambda (x) (- (expt x 2) 1)) 0 3) ) ;x^2-1の解を0〜3間で探す。
</syntaxhighlight>
;;0.9999999999417923
;実行結果:<syntaxhighlight lang=text>
;;> (bisection (lambda (x) (- (expt x 2) 1)) 0 3) ;x^2-1の解を0〜3間で探す。
;;0.9999999999417923
;;1.0000000000291038
</syntaxhighlight>
:このコードも<math>\lambda(x)=x-1</math>、または、<math>\lambda(x)=x^2-1</math>のときに試された。[[Python]]版と同じ結果である。