mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages
※2018年9月15日より非力な環境でサーバを運用しているため、各ページの表示に時間がかかる場合があります。ご了承ください。(改良の予定あり)

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Fortran - 級数計算!

[ プログラミング, 数学 ] [ Fortran ]

こんばんは。

今回は、 Fortran95 で級数を計算してみただけです。

0. 前提条件

  • LMDE2(Linux Mint Debian Edition 2; 64bit) での作業を想定。
  • GCC 6.3.0 (GFortran) でのコンパイルを想定。
  • Fortran には長けていないので、コードに誤りがあるかもしれない。

1. Fortran コードの作成

計算する級数は で、 としている。

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. コンパイル

1
$ gfortran series.f95 -o series

3. 実行

1
2
$ ./series
 ANSWER =    1.49998903

学生時代に使用した Fortran (当時は大文字の FORTRAN77 )を思い出すべく、簡単なコードを書いてみた次第です。(当時覚えたことはほとんど忘れているので、初心者レベル)

少し前に円周率計算を行ったことはありますが、いずれは、他の複雑な計算等も行ってみたいと考えております。

以上。

Comments