| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 430 人关注过本帖
标题:不是作业贴,我只是想知道循环那里出了错误
取消只看楼主 加入收藏
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
不是作业贴,我只是想知道循环那里出了错误
#include<stdio.h>
#include<math.h>
#define maxsize 100
#define eps 0.000001
int main(void)
{
    double a,b,t,x[maxsize],step,s0,s1,f();
    int i,n;

    printf("please input a= and b=\n");
    scanf("%lf  %lf",&a,&b);

    n=1;
    s0=(f(a)+f(b))*(b-a)/2;
    do
    {
            n=n+1;
            step=(b-a)/n;
        for(i=0;i<n;i++)
        {
        
            x[i]=a+i*step;
            s1=0;
                for(i=1;i<=n;i++)
               
                    s1+=(f(x[i+1])+f(x[i]))*step/2;
               
                    t=s0;
                    s0=s1;
               
                    
        
        }
        
    }
    while (fabs(s0-t)>eps);
    {
        printf("s0=%lf\n",s0);
        printf("此时步长为:%d",n);
        printf("\n");
    }
    return 0;
}
double f(double m)
{
    double y;
    y=sqrt(1+pow(m,2));
    return y;
}
   

   
搜索更多相关主题的帖子: please include 
2012-11-21 13:05
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
一楼,你说的double f(double m)我试过了没用,也是一样的,我这个函数是用来:将积分区间分成N个等份,用梯形公式计算机积分f(1,0)sqrt(1+pow(x,2))的近似值

菜鸟也疯狂
2012-11-21 17:16
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
这是数值分析或者计算方法里面:数值积分与数值微分里面的题目,求积分的近似值

菜鸟也疯狂
2012-11-21 17:18
快速回复:不是作业贴,我只是想知道循环那里出了错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015406 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved