Вычисление пи через суммирование рядов в Фортране

1
задан Axion004 19 January 2019 в 19:25
поделиться

1 ответ

Я вижу свою ошибку! Мне нужно выписать 1.d0 and 2.d0 instead of 1 and 2, чтобы вычисления оценивались в двойном формате. Я также забыл умножить pi = val*4.d0. Изменение программы cpi на

program cpi
double precision val, pi, MFLOPS
integer i, T1, T2
num = 1000000
val = 0.d0
call system_clock(T1)       ! get time stamp
do i = 1, num
  val = val + ((-1.d0)**(i+1.d0))/(2.d0*i-1.d0)
end do
call system_clock(T2)       ! get time stamp
MFLOPS = num*2.d0/((T2-T1)*1.d8)     ! compute MFlop/sec rate
pi = val*4.d0
print *, 'Estimated Value of PI:', pi
print *, 'The calculated number of MFLOPS is:', MFLOPS
end program cpi

возвращает

Estimated Value of PI:   3.1415916535897743     
The calculated number of MFLOPS is:   3.0303030303030304E-002

Я также добавил вычисление MFLOPS, чтобы увидеть скорость вычислений.

0
ответ дан Axion004 19 January 2019 в 19:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: