网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

计算方法数值积分含源代码

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
一.实验题目
数值积分
二.实验目的
学会使用数值积分的方法
三.实验软件
VC++6.0
四.流程图
   





开  始





float p,q
float H[1]
int m





输入并储存积分上限及积分下限





输入n节点





q=(log(n-1))/(log(2))
       m=int(q+0.5)





调用longbig函数





调用trapezia函数





输出积分结果





结 束
五.源程序
 

#include
#include
#include
#include
float x[100];
float f[100];
float a,b;
int n;
 
void trapezia(float y,float *S)
{   int i,t;
    t=(b-a)/y;
       for(i=0;i<=t;i++)
              x[i]=a+y*i;
       for(i=0;i<=t;i++)
       {
              f[i]=sin(x[i])/x[i];
              if(x[i]==0)
              f[i]=1;
       }
    (*S)=y*(f[0]+f[t])/2;
       for(i=1;i        (*S)+=(f[i]*y);
}
void longbig(int l,float *U)
{    float h;
     float *S;
     float T[20],R[20];
     S=R;
     int i,j;
     h=b-a;
     for(i=0;i<=l;i++)
        {
       trapezia(h/pow(2,i),S);
         T[i]=*S;
        }
      for(j=l;j>0;j--)
         for(i=0;i             T[i]=T[i+1]+((T[i+1]-T[i])/(pow(4,(l-j+1))-1));
     (*U)=T[0];
}
void main()
{   float p,q;
       float H[1];
       int m;
       printf("请输入积分上限\n");
       scanf("%f",&b);
       printf("请输入积分下限\n");
    scanf("%f",&a);
       printf("采用多少节点定步长复化梯形公式?\n");
       scanf("%d",&n);
    q=(log(n-1))/(log(2));
       m=int(q+0.5);
    longbig(m,H);
    p=H[0];
       printf("积分结果为\n");
    printf("%f\n",p);
}
 
六.实验结果
 

 
结果分析:输入积分上限10,下限1,节点5后得出积分结果0.701155,结果与预期相符。
  • 上一篇资讯: 操作系统文件管理系统
  • 下一篇资讯: 操作系统银行家算法
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师