下载此文档

计算机程序设计基础——第十四讲.ppt


文档分类:IT计算机 | 页数:约33页 举报非法文档有奖
1/33
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/33 下载此文档
文档列表 文档介绍
第十四讲编程例题
1
求定积分
1、用梯形公式计算面积的近似值。
这样计算面积误差太大。
2
2、改进:将区间b-a划分成2n等分。用变步长的梯形法,定义Tn为将积分区间n等分时求出的近似面积。
3
4
(1)为按公式算出的面积的二分之一;
(2)为等分中线的函数值f(x1+h/2)与h的乘积,得出面积的二分之一。
5
(3)代表面积
6
3、用辛普生公式计算积分的近似值
7
#include <> // 预编译命令
#include <> // 预编译命令,数学函数
double f(double x); // 定义被调用函数f
void main() // 主函数
{ // 主程序开始
int k,n=1; // 声明整型变量k,n,并初始化n
double x,x1=0,x2=2; // 声明双精度变量x,和x1,x2
double s,h,tn,t2n,In,I2n;// 声明计算中使用的中间变量
const double eps=1e-6;// 声明双精度变量eps作为阈值
// 计算n=1时的tn和In,为便于编程
// 分别将它们赋给t2n和I2n
h=x2-x1;
t2n=I2n=(h*(f(x1)+f(x2)))/2;
printf("第一次近似计算梯形面积值为%lf\n",t2n);
In=0;
8
while(fabs(I2n-In)>=eps)//当型循环,精度未达要求则继续
{ // 循环体开始,
// 将上一次计算结果转存入tn和In
tn=t2n;
In=I2n;
// 计算k从0至n-1,f(x1+(k+)*h)的和
s=; // 求和变量s清零
for(k=0;k<n;k=k+1) // 循环求和
{ // 循环体开始
x=x1+(k+)*h;
s=s+f(x);
} // 循环体结束
// 计算t2n和I2n
t2n=(tn+h*s)/;
I2n=(4*t2n-tn)/;
9
// 更新n和h,用于下一次计算
n=2*n;
h=h/2;
} // 循环体结束
printf("积分值为%lf\n",I2n); // 输出结果
} // 主函数结束

double f(double x) // 被调用函数f,用于计算积分项
{ // 函数体开始
// 计算并返回积分项
return ( (exp(x)+x*x)/(1+x*x*x));
} // 函数体结束
运行结果:

10

计算机程序设计基础——第十四讲 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数33
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11