回 帖 发 新 帖 刷新版面

主题:关于数值积分问题

各位老师:
        遇到一个积分的问题,程序如下: 
        就是进行自编函数积分的时候,如果函数不是确定的值,要进行一个关于符号的积分时候,出现困难,想问下老师们如何来解决这个问题。在本例中如果自编函数F(x)中的F=cos(x)*ff(ff若没有进行数值定义,即ff=15)则程序会报错。我想问 哈出错的原因是什么?多谢了
         USE MSIMSL
    EXTERNAL F
    DOUBLE PRECISION F,A,B,T
    A=1.0
    B=4.0
    EPS=0.000001
    CALL FFFTS(A,B,F,EPS,T)
    WRITE(*,10) T
10    FORMAT(1X,'T=',D15.6)
        pause
    END

        FUNCTION F(X)
     DOUBLE PRECISION F,X
    parameter(ff=15)
    F=COS(X)*ff       (若ff没有进行数值定义(即ff=15)该如何进行积分呢?
    RETURN             
           END                                  
    
    
      SUBROUTINE FFFTS(A,B,F,EPS,T)
    DOUBLE PRECISION A,B,F,T,FA,FB,H,T1,S,X
    FA=F(A)
    FB=F(B)
    N=1
    H=B-A
    T1=H*(FA+FB)/2.0
5    S=0.0
    DO 10 K=0,N-1
      X=A+(K+0.5)*H
      S=S+F(X)
10    CONTINUE
    T=(T1+H*S)/2.0
    IF (ABS(T1-T).GE.EPS) THEN
      T1=T
      N=N+N
      H=H/2.0
      GOTO 5
    END IF
    RETURN
    END
    



回复列表 (共4个回复)

沙发


这要看你采用什么积分方法,比如两点Gauss积分公式。具体查数值计算的书,各种数学符号这里不方便写。

板凳

哎!确实,我查了好多书,都没写如何弄,只能进行数值积分,而不能进行符号积分!

3 楼


符号积分可以用MAPLE等数学软件算出来,再算它的数值解。另外,帮助你,你起码的给个评价,用不着你给物质奖励,虚拟的鼓励还是需要应该给的吧?!

4 楼


那多谢了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册