Fortran - 級数計算!
Updated:
今回は、 Fortran95 で級数を計算してみただけです。
0. 前提条件
- LMDE2(Linux Mint Debian Edition 2; 64bit) での作業を想定。
- GCC 6.3.0 (GFortran) でのコンパイルを想定。
- Fortran には長けていないので、コードに誤りがあるかもしれない。
1. Fortran コードの作成
計算する級数は \(\displaystyle \sum_{i=1}^{N}\frac{1}{i}\cdot\frac{2}{i+1}\cdot\frac{3}{i+2}\) で、 \(N=1000\)としている。
File: series.f95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
!****************************************************
! 級数計算
! : SUM((1/i) * (2/(i+1)) * (3/(i+2))) を計算する
!
! date name version
! 2017.04.10 mk-mode.com 1.00 新規作成
!
! Copyright(C) 2017 mk-mode.com All Rights Reserved.
!****************************************************
!
program series
implicit none
integer, parameter :: terms = 1000
real, dimension(terms) :: x, y, z
integer :: i
do i = 1, terms
x(i) = 1.0 / i
y(i) = 2.0 / (i + 1)
z(i) = 3.0 / (i + 2)
end do
print *, 'ANSWER = ', sum(x * y * z)
end program series
2. コンパイル
$ gfortran series.f95 -o series
3. 実行
$ ./series
ANSWER = 1.49998903
学生時代に使用した Fortran (当時は大文字の FORTRAN77 )を思い出すべく、簡単なコードを書いてみた次第です。(当時覚えたことはほとんど忘れているので、初心者レベル)
少し前に円周率計算を行ったことはありますが、いずれは、他の複雑な計算等も行ってみたいと考えております。
以上。
Comments