首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方案中的simpson规则

方案中的simpson规则
EN

Stack Overflow用户
提问于 2013-09-19 20:54:29
回答 2查看 686关注 0票数 0

有人能帮我写出方案中辛普森规则方法的主体吗?下面是我到目前为止所得到的,但我不知道是应该递归地解决这个问题,还是使用不同的方法。

代码语言:javascript
复制
(define (sum-i term a b)
 (if (= a b)
    (term b)  
     (+ (term a) (sum-i term (+ a 1) b))))

(sum-i (lambda (x) x) 0 1)
(sum-i (lambda (x) (* x x)) 0 1)
(sum-i (lambda (x) (* x x x x)) 0 1)

(define (simpsons-rule f a b n)
   (let  ((h (/ (- b a) n)))
   (define (y_k k) (f (+ a (* k h))))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-20 14:15:37

结束时,我将给出函数中的情况和参数太和,以及如何设置sum调用。

您可以递归地设置,定义一个递归函数,而不是f,并将它调用到和它的位置。

代码语言:javascript
复制
(define (simpsons-rule f a b n)
   (define h   (/ (- b a) n))
   (define Y_k (lambda (k) (f (+ a (* k h)))))
   (define (f x)
     (cond ((or (= x 0) (= x n)) ...)
           ((even? x) ...)
           (else ...)))
   (* (/ h 3)
      (sum f 0 plus1 n))) 
票数 1
EN

Stack Overflow用户

发布于 2015-11-29 09:38:04

#现在我编写了一个函数,它为simpons1 1/3规则计算一个积分值:#我想把这个(x^3-7x^2+10)从0积分到100,比如说

代码语言:javascript
复制
  ftn<-function(x){ 
  return((x^3-7*x^2+10))
 }
  simpons<-function(a,b,ftn,n){
  h<-(b-a)/n
   fa<-ftn(a)
   fb<-ftn(b)
  sum1<-0
  i<-1
  while(i<=n-1){
   sum1<-sum1+ftn(a+i*h)
 i<-i+2
    }
    j<-2
   sum2<-0
   while(j<=n-2){  
   sum2<-sum2+ftn(a+j*h)
   j<-j+2
   }
  s1<-h/3
  simp<-s1*(fa+fb+4*sum1+2*sum2)
   return(simp)
   }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18904724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档