[itbase2024]Fortran 課題 問題

問題

下に用意した日本周辺の地震の震源分布のデータを用いて, 下に説明する処理を行うプログラムを作り, gnuplot を使って処理結果のグラフを描きなさい. 作成したプログラムのファイルと図を提出しなさい.

  1. 下に示すデータを用いて地震のマグニチュードの度数分布 (ヒストグラム) を求めるプログラムを作りなさい. 求める度数分布のマグニチュードの刻み幅と開始点と終点は, 自分が適切と考える値として良い. もし刻み幅を自分で決められないようならば 0.1 とするとよいだろう.
  2. 地震のマグニチュードと発生数には下の関係があることが知られている.

    <URL:https://itpass.scitec.kobe-u.ac.jp/~itbase/exp/fy2024/kadai1/images/eq_GRlaw.png>

    この関係はグーテンベルク・リヒター則 (Gutenberg-Richter law; Gutenberg and Richter, 1949) と呼ばれる. この関係式の定数 a と b を最小二乗法に基づいて求めるプログラムを作りなさい. ただし, a と b を求める際にはマグニチュード 4 から 7 までの震源のデータを用い, もし地震の発生数 1 以下のマグニチュード範囲があれば除くこと.

  3. gnuplot を使って (1) で求めた度数分布のグラフを描きなさい. さらにグラフには (2) で求めた直線を重ね描きしなさい. グラフの横軸をマグニチュードとし, 縦軸を度数の対数としなさい.

上の 1, 2 の両方を処理する一つのプログラムを作っても良いし, それぞれを処理する一つずつのプログラムを作っても良い. また, 3 で描くグラフには必ず縦軸と横軸の意味と単位 (あれば) を書くこと.

  • 作成したプログラム (ソースコード, .f90 ファイル) とグラフ (pdf 形式) は BEEF+ の「最終レポート (プログラムとグラフのファイル)」に提出しなさい.
  • 最小二乗法を用いて求めたグーテンベルク・リヒター則の定数 a, b の値は「最終レポート (記述)」に記述しなさい.
  • 提出期限までに完成しない場合は提出時点でのものを提出し, 「最終レポート (記述)」にどこまでできていて, どこができなかったのか, また, どこに悩んだのかの詳細を説明しなさい.

データ

  • 地震のデータファイル
  • データ形式
    • ファイルには 10 種類の数値が保存されている. それぞれの数値の意味は以下の通り.
      • 1 カラム目 : 年
      • 2 カラム目 : 月
      • 3 カラム目 : 日
      • 4 カラム目 : 時
      • 5 カラム目 : 分
      • 6 カラム目 : 秒
      • 7 カラム目 : 経度 (°)
      • 8 カラム目 : 緯度 (°)
      • 9 カラム目 : 深さ (km)
      • 10 カラム目 : マグニチュード

gnuplot を用いたヒストグラムの描き方

例えば,

区間                 頻度
2.0 < M ≦ 2.5    15
2.5 < M ≦ 3.0    18
3.0 < M ≦ 3.5    22
3.5 < M ≦ 4.0    25
4.0 < M ≦ 4.5    32
4.5 < M ≦ 5.0    35
5.0 < M ≦ 5.5    42
5.5 ≦ M ≦ 6.0    31

のデータのヒストグラムを描く場合, ファイルに下のように 1 カラム目に頻度区分の中心値, 2 カラム目に頻度を保存する.

2.25    15
2.75    18
3.25    22
3.75    25
4.25    32
4.75    35
5.25    42
5.75    31

そして, gnuplot で下のようにすることで頻度分布 (ヒストグラム) を描くことができる.

gnuplot> plot "file.txt" with boxes

参考文献

  • Gutenberg,B.and C.F.Richter (1949) Seismicity of the earth and associated phenomena, Princeton Univ.Press.

謝辞

解答例

ただし, 下のグラフは正しくありません.

Last modified:2024/07/26 10:38:19
Keyword(s):
References:[[itbase2024]最終課題]