⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c组合辛普森求积分.txt

📁 C组合辛普森求积分 源程序 MATLAB
💻 TXT
字号:
复合求积法(梯形和Simpson) 

--------------------------------------------------------------------------------

2007-03-06 22:04:25 标签:复合求积法 Simpson 梯形   [推送到技术圈] 


版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lucky.blog.51cto.com/124662/19411 
1、复合梯形公式:
#include"stdio.h"
#include"math.h"
 
double f1(double x)
{
   return x/(4+x*x);
}
 
double f2(double x)
{
   return sqrt(4-(sin(x)*sin(x)));
}
 
double Tixing(f,a,b,n)
   double (*f)();
   int n;
   double a,b;
{
   int k;
   double h,x,s;
   h=(b-a)/n;
   x=a;
   s=f(x)+f(b);
   for(k=1;k<n;k++)
   {
     x+=h;
     s+=2*f(x);
   }
   s*=h/2;
   return s;
}
 
main()
{
   double a,b,s1,s2;
   int n;
   a=3;b=6;n=8;
   s1=Tixing(f1,a,b,n);
   a=0;b=3.1415926/6;n=6;
   s2=Tixing(f2,a,b,n);
   printf("T8=%f\n",s1);
   printf("T6=%f\n",s2);
}
 
2、复合Simpson公式:
#include"stdio.h"
#include"math.h"
 
double f1(double x)
{
   return x/(4+x*x);
}
 
double f2(double x)
{
   return sqrt(4-(sin(x)*sin(x)));
}
 
double Simpson(f,a,b,n)
   double (*f)();
   int n;
   double a,b;
{
   int k;
   double h,x,s;
   h=(b-a)/(2*n);
   x=a;
   s=f(x)-f(b);
   for(k=1;k<=n;k++)
   {
     x+=h;s+=4*f(x);
     x+=h;s+=2*f(x);
   }
   s*=h/3;
   return s;
}
 
main()
{
   double a,b,s1,s2;
   int n;
   a=3;b=6;n=4;
   s1=Simpson(f1,a,b,n);
   a=0;b=3.1415926/6;n=3;
   s2=Simpson(f2,a,b,n);
   printf("s4=%f\n",s1);
   printf("s3=%f\n",s2);
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -