调和级数的实验

    技术2022-05-20  31

    调和级数的实验 {1/n的和等于log(e)n ,n越大越精确}

    在这里因为计算系统的限制,通过单位内的扩展来模拟n的扩大,效果也很明显,testfour比test更接近正确值。

     

    (defun  test ( sum  a b)

    (if (<  a   b)

        (test  (+  sum  (/  1.0  a ) )

               (+  a  1)

               b)

        sum))

     

    (defun  testtwo ( sum  a b)

    (if (<  a   b)

        (testtwo   (+  sum  (/ (/  1.0  a ) 2)

                        (/ (/  1.0  (+ a 0.5) ) 2))                    

               (+  a  1)

               b)

        sum))

     

    (defun  testfour ( sum  a b)

    (if (<  a   b)

        (testfour  (+  sum  (/ (/  1.0  a ) 4)

                        (/ (/  1.0  (+ a 0.25) ) 4)

                        (/ (/  1.0  (+ a 0.5) ) 4)

                        (/ (/  1.0  (+ a 0.75) ) 4))                    

               (+  a  1)

               b)

        sum))

     

    (test  0  1  1000)

    (testtwo  0  1  1000)

    (testfour  0  1  1000)

    (log  1000)

     

     

    (test  0  1  3000)

    (testtwo  0  1  3000)

    (testfour  0  1  3000)

    (log  3000)


    最新回复(0)