身影作文600字(8篇)1. 描述问题
利用①左矩形公式,②中矩形公式,③右矩形公式 ,④梯形公式,⑤simpson公式,⑥Gauss积分公式求解定积分。
2. 分析问题
2.1定积分
21.1定积分的定义
定积分就是求函数
在区间
中图线下包围的面积。即
所包围的面积。这个图形称为曲边梯形,特例是曲边梯形。如下图:
(图1)
设一元函数
,在区间
内有定义。将区间
分成
个小区间
。设
,取区间
中曲线上任意一点记做
,作和式:
若记λ为这些小区间中的最长者。当
时,若此和式的极限存在,则称这个和式是函数
在区间
...
1. 描述问题
利用①左矩形公式,②中矩形公式,③右矩形公式 ,④梯形公式,⑤simpson公式,⑥Gauss积分公式求解定积分。
2.
问题
2.1定积分
21.1定积分的定义
定积分就是求函数
在区间
中图线下包围的面积。即
所包围的面积。这个图形称为曲边梯形,特例是曲边梯形。如下图:
(图1)
设一元函数
,在区间
内有定义。将区间
分成
个小区间
。设
,取区间
中曲线上任意一点记做
,作和式:
若记λ为这些小区间中的最长者。当
时,若此和式的极限存在,则称这个和式是函数
在区间
上的定积分。
记作:
其中称
为积分下限,
为积分上限,
为被积函数,
为被积式,∫ 为积分号。
之所以称其为定积分,是因为它积分后得出的值是确定的,是一个数,而不是一个函数。
21.2定积分的几何意义[1]
它是介于x轴、函数f(x)的图形及两条直线x=a,x=b之间的各个部分面积的代数和。在x轴上方的面积取正号;在x轴下方的面积取负号。如图
2.2言实现定积分计算的算法
22.1利用复合梯形公式实现定积分的计算
假设被积函数为
,积分区间为
,把区间
等分成
个小区间,各个区间的长度为
,即
,称之为“步长”。根据定积分的定义及几何意义,定积分就是求函数
在区间
中图线下包围的面积。将积分区间
等分,各子区间的面积近似等于梯形的面积,面积的计算运用梯形公式求解,再累加各区间的面积,所得的和近似等于被积函数的积分值,
越大,所得结果越精确。以上就是利用复合梯形公式实现定积分的计算的算法思想。
复合梯形公式:
[2]
具体算法如下:
算法一
1:输入积分区间的端点值
和
;
2:输入区间的等分个数
(要求
尽可能大,以保证程序运行结果有较高的精确度);
3:计算步长
;
4:对累加和赋初值
;
5:计算累加和
6:算出积分值
;
7:输出积分近似值
,完毕。
1.2.2利用Smpson公式实现定积分的计算
假设被积函数为
,积分区间为
,把区间
等分成
个小区间,各个区间的长度为
。在复合梯形公式的基础上,构造出一种加速计算积分的方法。作为一种外推算法, 它在不增加计算量的前提下提高了误差的精度。
具体算法如下:
算法二
1:输入积分上限
和下限
;
2:输入区间的等分个数
(要求
尽可能大,以保证程序运行结果有较高的精确度);
3:利用辛甫生公式:
[2],实现对定积分的求解(其中
,
均为梯形公式计算所得的结果,由此可见辛甫生公式是以梯形公式为基础的);
4:算出积分值
;
5:输出积分近似值
,完毕。
1.2.3利用Guass公式实现定积分计算
Guass型求积公式是构造高精度差值积分的最好方法之一。他是通过让节点和积分系数待定让函数f(x)以此取i=0,1,2....n次多项式使其尽可能多的能够精确成立来求出积分节点和积分系数。高斯积分的代数精度是2n-1,而且是最高的。通常运用的是-1---+1的积分节点和积分系数,其他积分域是通过变换x=(b-a)t/2 +(a+b)/2 变换到-1到1之间积分。
算法三
1:输入积分上限
和下限
;
2:利用Guass公式,求定积分
4:算出积分值
;
5:输出积分近似值
,完毕。
3. 程序的编写
3.1程序一(左矩形公式)
3.1.1源程序
#include
#include
void main()
{double f(double x);
/*f(x)为函数举例,即被积函数*/
int i,n;
/*n为区间等分的个数,应尽可能大*/
double a,b,h,s;
/*a为积分下限,b为积分上限,h为步长*/
printf("积分下限 a:\n");
scanf("%lf",&a);
printf("积分上限 b:\n");
scanf("%lf",&b);
printf("区间等分个数 n :\n");
scanf("%d",&n);
h=(b-a)/n; /*步长的计算*/
s=f(a)*h;
for(i=1;i
#include
void main()
{double f(double x);
/*f(x)为函数举例,即被积函数*/
int i,n;
/*n为区间等分的个数,应尽可能大*/
double a,b,h,s;
/*a为积分下限,b为积分上限,h为步长*/
printf("积分下限 a:\n");
scanf("%lf",&a);
printf("积分上限 b:\n");
scanf("%lf",&b);
printf("区间等分个数 n :\n");
scanf("%d",&n);
h=(b-a)/n; /*步长的计算*/
s=0.5*(f(a)+f(a+h))*h;
for(i=1;i
#include
void main()
{double f(double x);
/*f(x)为函数举例,即被积函数*/
int i,n;
/*n为区间等分的个数,应尽可能大*/
double a,b,h,s;
/*a为积分下限,b为积分上限,h为步长*/
printf("积分下限 a:\n");
scanf("%lf",&a);
printf("积分上限 b:\n");
scanf("%lf",&b);
printf("区间等分个数 n :\n");
scanf("%d",&n);
h=(b-a)/n; /*步长的计算*/
s=f(a+h)*h;
for(i=1;i
#include
void main()
{double f(double x);
/*f(x)为函数举例,即被积函数*/
int i,n;
/*n为区间等分的个数,应尽可能大*/
double a,b,h,s;
/*a为积分下限,b为积分上限,h为步长*/
printf("积分下限 a:\n");
scanf("%lf",&a);
printf("积分上限 b:\n");
scanf("%lf",&b);
printf("区间等分个数 n :\n");
scanf("%d",&n);
h=(b-a)/n; /*步长的计算*/
s=0.5*(f(a)+f(a+h))*h;
for(i=1;i
#include
void main()
{double T(double x,double y,int z);
double a,b,s;
int n;
printf("积分下限 a:\n");
scanf("%lf",&a);
printf("积分上限 b:\n");
scanf("%lf",&b);
printf("区间等分个数 n :\n");
scanf("%d",&n);
s=(4*T(a,b,2*n)-T(a,b,n))/3;
/*利用辛甫生公式求解定积分*/
printf("函数 f(x) 的积分值为 s=%f\n",s);
}
/*以下为复合梯形公式的定义*/
double T(double x,double y,int z)
{double h,Tn;
int i;
double f(double t);
h=(y-x)/z;
Tn=(f(x)+f(y))/2;
for(i=1;i
#include
#define N 3
float gass_integral(float (*)(float),float,float,int);
void main()
{
float function_name(float);
float a,b;
printf("请输入积分上限b\n");
scanf("%f",&b);
printf("请输入积分下限a\n");
scanf("%f",&a);
float ans;
ans=gass_integral(function_name,a,b,N);
printf("ans=%f",ans);
}
//高斯求积:代数精度为2n-1. -1---+1 之间
float gass_integral(float (*func)(float x), float a,float b ,int n )
{
//高斯点及其求积系数列-------------------------------------------------------------------------------------------
float x1[1]={0.0}; float A1[1]={2};
float x2[2]={-0.5573503,0.5573503}; float A2[2]={1,1};
float x3[3]={-0.7745967,0.0,0.7745967}; float A3[3]={0.555556,0.888889,0.555556};
float x4[4]={0.3399810,-0.3399810,0.8611363,-0.8611363}; float A4[4]={0.6521452,0.6521452,0.3478548,0.3478548};
float x5[5]={0.0,0.5384693,-0.5384693,0.9061799,-0.9061799}; float A5[5]={0.5688889,0.4786287,0.4786287,0.2369269,0.2369269};
//----------------------------------------------------------------------------------------------------------------------------------
float * p,* t;
switch ( n)
{case 1 : p=x1;t=A1;break;
case 2 : p=x2;t=A2;break;
case 3 : p=x3;t=A3;break;
case 4 : p=x4;t=A4;break;
case 5 : p=x5;t=A5;break;
default : printf("intput wrong!");
}
float g=0;
for(int i=0;i
本文档为【身影作文600字(8篇)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。