【问题标题】:Racket procedure "integral" which returns double argument procedure representing function球拍过程“积分”,它返回代表函数的双参数过程
【发布时间】:2021-03-13 14:05:53
【问题描述】:

我在大学的简单任务上需要帮助。我停留在片刻如何表示过程 没有给定的整合(a b)。 我必须定义程序(integral f prec)-它需要集成程序和精度数 使用 sum = (b-a)/prec 估计积分的迭代。该过程应该输出双参数过程,因此通过输入 a 和 b 我们可以计算我们的积分。


> ( define foo ( integral ( lambda (x) 10) 1000) )
> ( foo 0 10)
99.9999999999986
> ( define foo ( integral ( lambda (x) x) 1000) )
> ( foo 9 10)
9.499500000000001
> ( foo 0 10)
49.95000000000001
> ( define foo ( integral sin 1000) )

此外,我必须使用为求和定义的过程:

(define (sum term a next b)
      (if (> a b)
          0
          (+ (term a)
             (sum term (next a) next b))))

我尝试使用 lambda 表达式来解决这个问题,但我是该课程的新手,而且时间很少。

我发现了一段辛普森积分的代码,可能会有所帮助。

 (define (simpson-integral f a b n)
      (define h (/ (- b a) n))
      (define (next x) (+ x (* 2 h)))
      (* (/ h 3) (+ (f a)
                    (* 4 (sum f (+ a h) next (- b h)))
                    (* 2 (sum f (+ a (* 2 h)) next (- b (* 2 h))))
                    (f b))))

【问题讨论】:

    标签: lambda scheme racket


    【解决方案1】:

    函数sum 是您的sum,稍作调整:> 替换为>=
    函数integral返回两个参数的lambda,调用数字后,数字之间的整个区间被划分为prec区间(例如1000个区间),区间中矩形的面积相加。
    @ 987654327@ 是函数,它返回给定数字的下一个间隔。 (例如,0 到 10 之间有 1000 个区间,因此 0 => 0.01 或 5.55 => 5.56。
    Term 是计算一个矩形面积的函数。一边是区间的长度,一边是 f(x)f(x+next) 的最小值,这些值相乘。

    (define (sum term a next b)
          (if (>= a b)
              0
              (+ (term a)
                 (sum term (next a) next b))))
    
    (define (integral f prec)
      (lambda (a b)
        (sum (lambda (t)
               (* (min (f t)
                       (f (+ t (/ (- b a) prec))))
                  (/ (- b a) prec)))
             a
             (lambda (n)
               (+ n (/ (- b a) prec)))
             b)))
    
    ((integral (lambda (x) (+ (* 2 x) 3)) 1000) 2 5) => almost 30
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 2023-03-14
      相关资源
      最近更新 更多