24小时热门版块排行榜    

查看: 1833  |  回复: 7

[交流] 【交流】合流超比函数的 fortran程序(自己搞定了,不过也希望你来交流)

哪位虫子手里有合流超比函数(Hypergeometric 1F1)的fortran程序,能不能分享一下,我自己写了一个,可是和mathematic算的结果不一样。
1F1(a,b,c)=1+a*c/(b*1!)+a(a+1)*c^2/(b(b+1)*2!)
                    +a(a+1)(a+2)*c^3/(b(b+1)(b+2)*3!)+......
先在这里谢谢了。。。。。。。



PS:哈哈,刚才写了一个,感觉大体上能对上了,为了以后大家用着方便,我就贴一下我写的程序,希望你来一起交流,呵呵......
fortran77格式的:
        program fhgfh
        implicit real*8(a-z)
       a=0.5
        garm=2.5
        f=4

        z=confluent(a,garm,f)

        write(*,*) z
        end
c      confluent hypergeometric function

        real*8 function  confluent(a,garm,z)
        implicit real*8(a-z)
        confluent=1.0
        do 11 ii=1,120
      
       confluent=confluent+lianchen(a,ii)*z**ii/
     1         (lianchen(garm,ii)*FACTORIAL(ii))
   11 CONTINUE
      return
      END

      REAL*8 FUNCTION lianchen(a,N)
      IMPLICIT REAL*8(A-Z)
        lianchen=a
        do 22 ii=1,N-1
             lianchen=lianchen*(a+ii)
   22 CONTINUE
      return
      END             

        REAL*8 FUNCTION FACTORIAL(N)
      IMPLICIT REAL*8(A-Z)
        FACTORIAL=1.0
      DO 101 I=1,N
           FACTORIAL=FACTORIAL*I
  101 CONTINUE
      return
      END


[ Last edited by janecool on 2011-3-25 at 20:30 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

211985:mad:

木虫 (著名写手)


★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫:)(金币+10): 你们两个人的讨论很好 2011-03-26 16:37:15
引用回帖:
Originally posted by janecool at 2011-03-25 16:19:03:
哪位虫子手里有合流超比函数(Hypergeometric 1F1)的fortran程序,能不能分享一下,我自己写了一个,可是和mathematic算的结果不一样。
1F1(a,b,c)=1+a*c/(b*1!)+a(a+1)*c^2/(b(b+1)*2!)
                    ...

应该就是循环求和的程序吧
C语言,两个for循环就可以


[ Last edited by 211985 on 2011-3-26 at 10:23 ]
2楼2011-03-26 10:13:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 211985 at 2011-03-26 10:13:36:
应该就是循环求和的程序吧
C语言,两个for循环就可以


[ Last edited by 211985 on 2011-3-26 at 10:23 ]

其实循环不难,关键是i 是从1到无穷,这个无穷怎样实现是关键,我写的就只是写一个求近似情况下的程序,看看matlab用C写的源代码还是很长的,C跟Fortran其实差不多,呵呵...
3楼2011-03-26 11:01:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

211985:mad:

木虫 (著名写手)



小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by janecool at 2011-03-26 11:01:33:
其实循环不难,关键是i 是从1到无穷,这个无穷怎样实现是关键,我写的就只是写一个求近似情况下的程序,看看matlab用C写的源代码还是很长的,C跟Fortran其实差不多,呵呵...

每个人对程序长短的认识不同
还是数数多少行吧
C语言写
最多30行
7个定义
7个赋值
1个循环(2个语句)
1个判断(可以写在循环里)
1个输出
即可
级数是收敛的
只需di小于某值时
终止循环

[ Last edited by 211985 on 2011-3-26 at 12:14 ]
4楼2011-03-26 11:52:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 211985 at 2011-03-26 11:52:59:
每个人对程序长短的认识不同
还是数数多少行吧
C语言写
最多30行
7个定义
7个赋值
1个循环(2个语句)
1个判断(可以写在循环里)
1个输出
即可
级数是收敛的
只需di小于某值时
终止循环

[ Last  ...

恩,这个思路不错,哈哈...
5楼2011-03-26 15:31:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

211985:mad:

木虫 (著名写手)



小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by janecool at 2011-03-26 15:31:09:
恩,这个思路不错,哈哈...

考计算机二级的时候
这种程序常做的
只是判断收敛
不是考试内容
需要观察一下
(关于这个函数的证明不难)
现在不用C了
没机会调试


[ Last edited by 211985 on 2011-3-26 at 16:18 ]
6楼2011-03-26 16:16:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Wwyuangungun

新虫 (初入文坛)



小木虫: 金币+0.5, 给个红包,谢谢回帖
您在有一篇帖子里面说找到nag的fortran程序,请问您是通过什么方式找到?

[ 发自手机版 http://muchong.com/3g ]
7楼2013-12-03 00:35:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
7楼: Originally posted by Wwyuangungun at 2013-12-03 00:35:48
您在有一篇帖子里面说找到nag的fortran程序,请问您是通过什么方式找到?

请一个国外的同学下载的
8楼2013-12-03 20:52:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 janecool 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见