[問題] function的問題
這個程式是要用泰勒展開式去求e^n
這個程式所運算出的結果是錯的
我想了好久還是不知道錯在哪
program exp
implicit none
real*8 x, y, i, fac, taylor
write(*,*) '輸入次方'
read(*,*) x
write(*,*) '展開式要幾項'
read(*,*) y
write(*,*) taylor(x,y)
stop
end
c-------------------------------
real*8 function taylor(x,y)
real*8 x, y, i, fac
i=1
do while (i .le. y)
talor=talor+1/fac(i)*(x**i)
i=i+1
以上是用第一個function用loop去求
write(*,*) taylor
end do
return
end
c---------------------------
real*8 function fac(i)
real*8 i, y, i
fac=1
do y=1,i
fac=fac*y
end do
這個是用來算階乘的程式
當我用x=1 y=10去算
結果跑出-NaN = ="
麻煩高手可以解答一下哪邊寫錯了嗎
return
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.114.61
→
05/18 21:23, , 1F
05/18 21:23, 1F
→
05/18 21:33, , 2F
05/18 21:33, 2F
→
05/19 07:29, , 3F
05/19 07:29, 3F
→
05/19 08:50, , 4F
05/19 08:50, 4F
→
05/19 15:46, , 5F
05/19 15:46, 5F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
0
5
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章