24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1926  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

muqiuyan

木虫 (小有名气)

[交流] 【求助】求积分程序中被积函数问题已有5人参与

我用Simpson方法计算定积分。在程序中有两个地方用到积分,而被积分函数作为子程序调用,在计算积分的程序中该怎么定义被积函数呢?

这是 辛普森算法 的程序:
double fsimp(a,b,eps) /*辛普森算法*/  
double a,b,eps; /*a为积分下限,b为积分上限,eps是希望达到的精度*/  
{  
    int n,k;  
    double h,t1,t2,s1,s2,ep,p,x;  
    n=1; h=b-a;  
    t1=h*(fsimpf(a)+fsimpf(b))/2.0;  /*用梯形公式求出一个大概的估值*/  
    s1=t1;  
    printf("s1=%e\n",s1);
        ep=eps+1.0;  
    while (ep>=eps)  
{  
p=0.0;  
for (k=0;k<=n-1;k++)  
{  
x=a+(k+0.5)*h;  
p=p+fsimpf(x);  
}  
t2=(t1+h*p)/2.0;  
s2=(4.0*t2-t1)/3.0;  
printf("s2=%e\n",s2);
ep=fabs(s2-s1);  
t1=t2; s1=s2; n=n+n; h=h/2.0;  
}  
    return(s2);  
}



这是被积函数的程序:

double fsimpf(r)
double r; /* 被积分的函数*/

{  double y;
    y=被积函数f(x)的表达式;
  return(y);
}


两个被积函数不能都用fsimpf()表示吧,可不用它,计算积分时调用被积函数又是用fsimpf()表示的:


怎么区分啊
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

muqiuyan

木虫 (小有名气)

引用回帖:
Originally posted by simthhuang at 2010-05-21 17:04:29:
哪里有两个被积函数啊?明明就一个嘛!

主程序里有两个被积函数,我只列了两个子程序,一个是计算积分的,一个是被积函数的子程序,想问问第二个被积函数怎么弄,积分子程序里的f(a) f(b) f(x) 之类的需要调要被积函数子程序的地方要不要调整。
3楼2010-05-21 21:46:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

simthhuang

木虫 (小有名气)

★ ★
muqiuyan(金币+1):谢谢参与
resonant(金币+1):感谢积极参与:-) 2010-05-21 17:38:39
哪里有两个被积函数啊?明明就一个嘛!
一贯知足二目远眺三餐有节四季不懒五谷皆食六欲不张七分忍让八方交往九薄烟断十分坦荡
2楼2010-05-21 17:04:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

simthhuang

木虫 (小有名气)


resonant(金币+1):感谢参与:-) 2010-05-22 21:01:25
第二个被积函数就是被积函数啊,就是积分号和dx之间那部分啊。f(a) f(b) f(x) 分别是用初值a,终值b和中间迭代的数x调用被积函数。MM,我的理解对吗?
一贯知足二目远眺三餐有节四季不懒五谷皆食六欲不张七分忍让八方交往九薄烟断十分坦荡
4楼2010-05-22 19:41:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

muqiuyan

木虫 (小有名气)

resonant:调用函数没有什么特别的吧?区分只要函数名不同不就可以区分么? 2010-05-24 11:09:30
引用回帖:
Originally posted by simthhuang at 2010-05-22 19:41:04:
第二个被积函数就是被积函数啊,就是积分号和dx之间那部分啊。f(a) f(b) f(x) 分别是用初值a,终值b和中间迭代的数x调用被积函数。MM,我的理解对吗?

可能是我表达的不清楚。我要弄一个很复杂的程序,有很多公式,其中有两个计算积分的式子,所以我编了一个计算积分的子程序,就是fsimp(a,b,eps);这其中就涉及到调用被积函数,那我的两个被积函数怎么调用呢,怎么区分开呢

PS:你是学计算机的吗,能认识下吗?
5楼2010-05-23 10:37:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见