📄 c组合辛普森求积分.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 + -