seminar:fortran入門
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
seminar:fortran入門 [2020/08/18 10:22] – 作成 kimi | seminar:fortran入門 [2022/08/23 13:34] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
====== FORTRAN入門 ====== | ====== FORTRAN入門 ====== | ||
+ | ====== Fortran 90 ====== | ||
+ | ===== コンパイルと実行 ===== | ||
+ | * テキストエディタでソースプログラムを作成し、ソースプログラムを、'' | ||
+ | * ターミナルで < | ||
+ | $ g95 ○○○○.f90 -o △△△△ | ||
+ | </ | ||
+ | * ターミナルで < | ||
+ | $ ./ | ||
+ | </ | ||
+ | |||
+ | * [[数値積分]] | ||
+ | |||
+ | ===== FORTRAN90の書式 ===== | ||
+ | <code fortran> | ||
+ | PROGRAM EXAMPLE | ||
+ | IMPLICIT NONE ! IMPLICIT 文 | ||
+ | INTEGER, PARAMETER:: IMAX = 10 ! 定数(整定数)宣言 | ||
+ | INTEGER:: I ! 変数(整数変数)宣言 | ||
+ | REAL(8), DIMENSION(0: | ||
+ | REAL(8):: D, DMAX = 0.D0 ! 変数(実数変数)初期化 | ||
+ | ! | ||
+ | READ (*, *) DD ! 入力 | ||
+ | DO I = 0, IMAX ! DO 文 | ||
+ | D = DD(I) ! 代入文 | ||
+ | IF (D > DMIN) THEN ! IF 文 | ||
+ | DMAX = D ! | ||
+ | END IF ! END IF文 | ||
+ | PRINT "(I4, 3E12.5)", | ||
+ | & DMIN, DMAX ! 継続行 | ||
+ | END DO ! END DO文 | ||
+ | PRINT *, ' | ||
+ | STOP ! STOP文 | ||
+ | END PROGRAM EXAMPLE | ||
+ | </ | ||
+ | |||
+ | ===== 定数と変数 ===== | ||
+ | | 定数 | 整定数 | | 絶対値が2147483647以下の整数 | ||
+ | | 定数 | 実定数 | F形式 | ||
+ | | | | E形式 | ||
+ | | | | D形式 | ||
+ | | 変数 | 整変数 | INTEGER | I, | ||
+ | | | 実変数 | REAL(8) | A-H, O-Zで始めるのが望ましい | ||
===== 例題 1 ===== | ===== 例題 1 ===== | ||
<code fortran> | <code fortran> | ||
行 290: | 行 332: | ||
x=Aからx=Bまでの区間をN分割し、関数値 f(x) を出力するプログラムを作成する。 | x=Aからx=Bまでの区間をN分割し、関数値 f(x) を出力するプログラムを作成する。 | ||
- | - < | + | - $\begin{array}{*{20}c}{f\left( x \right) = \sqrt x ,} & {\left( {0 \le x \le 10} \right)}\end{array}$ |
- | \begin{array}{*{20}c} | + | - $\begin{array}{*{20}c}{f\left( x \right) = \log |x+1| ,} & {\left( {-1 < x \le 10} \right)}\end{array} |
- | {f\left( x \right) = \sqrt x ,} & {\left( {0 \le x \le 10} \right)} | + | - $\begin{array}{*{20}c}{f\left( x \right) = x^2{\rm e}^{-x} ,} & {\left( {0 \le x \le 6} \right)}\end{array} |
- | \end{array} | + | - $\begin{array}{*{20}c}{f\left( x \right) = x^2{\rm e}^{-x^2} ,} & {\left( {-4 \le x \le 4} \right)}\end{array} |
- | </ | + | - $\begin{array}{*{20}c}{f\left( x \right) = \displaystyle\frac{\sin^2 x}{x^2} ,} & {\left( {-4\pi \le x \le 4\pi} \right)}\end{array} |
- | - < | + | |
- | \begin{array}{*{20}c} | + | |
- | {f\left( x \right) = \log |x+1| ,} & {\left( {-1 < x \le 10} \right)} | + | |
- | \end{array} | + | |
- | </ | + | |
- | - < | + | |
- | \begin{array}{*{20}c} | + | |
- | {f\left( x \right) = x^2{\rm e}^{-x} ,} & {\left( {0 \le x \le 6} \right)} | + | |
- | \end{array} | + | |
- | </ | + | |
- | - < | + | |
- | \begin{array}{*{20}c} | + | |
- | {f\left( x \right) = x^2{\rm e}^{-x^2} ,} & {\left( {-4 \le x \le 4} \right)} | + | |
- | \end{array} | + | |
- | </ | + | |
- | - < | + | |
- | \begin{array}{*{20}c} | + | |
- | {f\left( x \right) = \displaystyle\frac{\sin^2 x}{x^2} ,} & {\left( {-4\pi \le x \le 4\pi} \right)} | + | |
- | \end{array} | + | |
- | </ | + | |
seminar/fortran入門.1597713753.txt.gz · 最終更新: 2022/08/23 13:34 (外部編集)