数値計算とは?� • 数値計算の目的は....� – 「具体的な値を求める」� 数値計算入門� • 連続量の近似計算� – 実数は連続�� – 計算機・電卓の世界は有限� • 数値計算の定石=アルゴリズム� – この授業では基本的な数値計算のアルゴリズムにつ いて学ぶ� � (例)定積分を求める� • 数学の世界では・・・� – 不定積分を公式に従って求める� – 積分範囲について計算する� • 例:x2を0から1まで積分せよ� – 不定積分を求めて� – 積分範囲を代入する� 1 ∫x 0 2 dx = ? 「数値的に」積分する� • 求めたい定積分の範囲を分割し、それぞ れの範囲において近似的な値を「数値的」 に求める� 1 # x3 & 1 1 % ( = −0= 3 $ 3 '0 3 y= x2 • このような求め方を「解析的に求める」という� 区間幅�Δx! 例えば台形と近似するとこの台形 の面積を数値で求めることが! できる(台形公式)� コンピュータを使った� 数値計算� • 手計算では煩雑、間違いが多いので� �現在はコンピュータを用いることがほとんど� �「計算コスト」という概念が重要� � �CPU時間〜乗除算の回数� � �主記憶(メモリ量(変数)の制約に注意� 誤差の評価� • 誤差の限界 • 誤差はどの程度かの見積もり • 誤差は大きくて どの程度か • |e| ≦ ε a - ε ≦ x ≦ a + ε# 数値計算における誤差 • • • • • • 数値計算は「近似計算」である 必ず「誤差」を伴う 誤差とは? 近似値 = 真値 + 誤差 (または 真値 ー 誤差) a=x+e • 相対誤差 eR ∼ e/x • 真値がわからないから近似値を求めているの だから真値がわからないと誤差もわからな い? 誤差の発生要因� ◆丸め誤差 • 切り捨て・四捨五入によって生じる誤差 ◆桁落ち • 近接した2数の引き算で、有効数字が失われること ◆打ち切り誤差 • 数学的に正確に与えられた関数 f の値を有限回の四則演算の繰 り返しで近似する公式を fa とするとき f ( x) − fa ( x ) • を打ち切り誤差という。� 浮動小数点数" 「桁落ち」の例� • 次の計算をしなさい! 1001 − 1000 解答は配付資料参照� • • • • • • • ◆浮動小数点数 ・内部表現 ・正規表現 ◆正規表現の絶対値の限界 ・オーバーフロー overflow ・アンダーフロー underflow 浮動小数点数 • 実数の表現方式� • 任意の実数 x はβ進t桁の正規化された� 浮動小数点数として� x�= ±0.d1d2d3........ dt ・βe • と表される。� • 仮数(mantissa) ±0.d1d2d3........ dt � • 基底(base) β� • 指数(exponent) e� 浮動小数点数の例� • 123.4 = 0.1234 x 103 • ��� = 1.234 x 102 • ��� = 1234 x 10-1 ! • ・・・・・・! • 正規形(normal form) ! x = ± (d1 βe-1+ d2 βe-2+ d3 βe-3+....dt • 正規化(normalize)! βe-t) ! 数値計算法における" アルゴリズム� • ◆アルゴリズム� • 与えられた問題を解くための、一連の数学的操作� • ◆直接法� • 数学的操作の回数が有限な解法� 数値計算における安定性� • 数値的に安定なアルゴリズム! – 丸め誤差の蓄積にあまり影響されないもの • 数値的に不安定なアルゴリズム! – 入力データのわずかな誤差や計算途中の丸 め誤差が結果に大きく影響するもの • ◆反復法� • 無限回の操作を必要とするアルゴリズムで同じ数学的操 作の繰り返しを行うもの� よいアルゴリズムの条件 計算費用(コスト)� • 計算時間 (CPU time) • 乗除算は加減算の演算の3ー5倍の時 間を要する。=>乗除算の回数を見積 もる。 • 計算時間は演算時間の3ー5倍で見積 もる。 • 主 記 憶 量 の 制 限 を 考 慮 す る 必 要 が あ る。 • • • • • (1)できるだけ簡単な公式で表されること (2)数値的に安定であること (3)計算時間が少ないこと (4)計算に必要なメモリーの量が少ないこと (5)プログラムの作成が容易であること
© Copyright 2024 Paperzz