【C&Fortran演習で学ぶ数値計算(1)】丸め誤差
こんにちは('ω')ノ
こちらの参考書を手に入れました。
アウトプットこそ最強の勉強法ということで勉強日記をつけながら本書を読み進めたいと思います。
数値計算における誤差
数値計算における誤差には、以下のものがあります。
そのうち丸め誤差についてコードを書いて確かめます。
丸め誤差コード
丸め誤差は10進数を2進数表現にする際や演算時に計算機内部の2進数表現により生じる誤差です。
C言語とFortranで確かめてみましょう。
C言語
#include <stdio.h>
int main()
{
double Su;
Su = 0.1 + 0.2 +0.3;
printf("%f\n",Su);
if (Su == 0.6){
printf("Su=%f\n",Su);
}else{
printf("Su!=%f\n",Su);
}
return 0;
}
結果
Fortran
program main
implicit none
real(kind=8) :: Su
Su = 0.1d0 + 0.2d0 + 0.3d0
write(*,*)"Su=",Su
if (Su == 0.6d0) then
write(*,*) "Su=", Su
else
write(*, *) "Su!=0.6"
end if
end program main
結果
本日は以上です(^^♪
Fortranのおすすめ参考書
Fortranの文法の基礎を学びたい方にはこちらの参考書がおすすめです。
後半は簡単な偏微分方程式を差分法で解くためのプログラムが乗っているため、基礎からちょっとした応用まで学ぶことができます。
もちろん高度な数値計算(例えば、構造解析や流体解析)をしたい場合は他の参考書を読んで勉強する必要があります。
Fortranのコード集として「Fortranハンドブック」がお勧めです。
様々な差分法や数値積分方法などが乗っているのでとても勉強になります。
C言語のおすすめ参考書
実はC言語は最近勉強し始めたばかりであまり詳しくなく、個人的にわかりやすいと感じた参考書をひとつ紹介します。
Twitter➡@t_kun_kamakiri
Instagram➡kamakiri1225
youtube➡https://www.youtube.com/channel/UCbG6_Q9ZRqqVT6YZOpcjDlQ
ブログ➡宇宙に入ったカマキリ(物理ブログ)
ココナラ➡物理の質問サポートサービス
コミュニティ➡製造業ブロガー