我尝试使用 fortran 为 exp(x)/sin(x) 编写泰勒级数展开式,但是当我测试我的小数(N=3 和 X=1.0)的实现并手动添加它们时,结果与什么不匹配我预计。我手动计算了 4.444..,并通过程序找到了 7.54113。您能否检查我的代码并告诉我是否有任何问题。
这是 wolframalpha 中 e^x/sin(x) 的展开公式:http ://www.wolframalpha.com/input/?i=e%5Ex%2Fsin%28x%29
PROGRAM Taylor
IMPLICIT NONE
INTEGER ::Count1,Count2,N=3
REAL:: X=1.0,Sum=0.0
COMPLEX ::i=(0.0,0.1)
INTEGER:: FACT
DO Count1=1,N,1
DO Count2=0,N,1
Sum=Sum+EXP(i*X*(-1+2*Count1))*(X**Count2)/FACT(Count2)
END DO
END DO
PRINT*,Sum
END PROGRAM Taylor
INTEGER FUNCTION FACT(n)
IMPLICIT NONE
INTEGER, INTENT(IN) :: n
INTEGER :: i, Ans
Ans = 1
DO i = 1, n
Ans = Ans * i
END DO
FACT = Ans
END FUNCTION FACT