Fortran
本稿では、コマンド ライン引数の個数で処理を変えるプログラムを Fortran で作ります。作成するプログラムは以下のように動作します。 コマンド ライン引数で自然数のみを与えた場合 標準出力に与えた自然数以下の素数を列挙し、素数の個数を表示します。 …
本稿にはコマンド ライン引数を用いることの利点、 ならびに Fortran におけるコマンド ライン引数使用の例を示しています。 私が考えるコマンド ライン引数を利用する利点は以下の通りです。 使いまわしやすいプログラムを書ける バッチ処理が可能になる 入…
統計計算を行うのに何かと乱数が必要になります。Fortran には組み込み関数として random_number() がありますが、 コンパイラによって実装が異なります*1*2。環境によって品質が変わると困るので、自分で実装したものを使うのが安全だと思います。私はメル…
何事も実際にやってみるのは大切です.経験することで直観が養われます.本記事は分散の大きさを感覚的に理解することが目的です.分散は平均とともに統計学で最初に習うものですから,定義を知っている人は多いでしょう,しかし,散布図を見て分散がどのく…
Fortranの配列用組み込み関数の中にpack関数というものがあります.直観的に配列を扱うことができ,データをまとめたりする際に大変便利な関数ですpack関数は配列xの要素の内,条件を満たす要素(正確にはmaskで指定した論理型配列の成分が真である部分の要…
配列にデータ(生物の個体数や水位など)を格納して平均を求める場合,doループを使ってもよいですが,Fortranを使うなら配列用の組み込み手続きを活用したいものです.大きさ10の整数値配列xの成分を x(:) = (/1, 2, 3, 4, 5, 6, 7, 8, 9, 10/) で与えます…
Fortranでは変数の型として 整数型 integer 実数型 real 倍精度実数型 double precision 複素数型 complex 倍精度複素数型 complex(kind(0d0)) 論理型 logical 文字型 character が使えます.今日の話題は論理型(logical)変数です.長い間これはどんな場合…
Fortranでは分岐処理にifとcaseがあります.条件分岐が三つ以上ある場合,if文では条件を満たすまで上から順にelse ifをたどるのに対し,case文では値の評価をした後,条件を満たすところにジャンプするため,分岐が多い場合にはcaseの方が速いそうです.私…
時間のかかる計算をするときには,少しでも計算が速くなるようにいろいろ工夫を施すのが普通です.いわゆるチューニングです. お手軽で効果の上がりやすい定番手法は 割り算を減らす(例:2で割る操作を0.5をかける操作に置き換える) 配列演算を利用する(…