C语言用6种方法求定积分

描述问题

利用①左矩形公式,②中矩形公式,③右矩形公式 ,④梯形公式,⑤simpson公式,⑥Gauss积分公式求解定积分。

分析问题

2.1定积分

21.1定积分的定义

定积分就是求函数在区间中图线下包围的面积。即所包围的面积。这个图形称为曲边梯形,特例是曲边梯形。

(图1)

设一元函数,在区间内有定义。将区间分成个小区间。设,取区间中曲线上任意一点记做,和式

若记λ为这些小区间中的最长者。当时,若此和式的极限存在,则称这个和式是函数 在区间上的定积分。

记:  其中称为积分下限,为积分上限,为被积函数, 为被积式,∫ 为积分号。

之所以称其为定积分,是因为它积分后得出的值是确定的,是一个而不是一个函数。x轴、函数f(x)的图形及两条直线x=a,x=bx轴上方的面积取正号;在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之间积分。和下限;

2:利用Guass公式,求定积分

4:算出积分值;

5:输出积分近似值,完毕。

程序的编写

3.1程序一(左矩形公式)

3.1.1源程序

#include

#include

void main()

{double f(double x);

/*f(x)为函数举例,即被积函数*/

int i,n;

/*n为区间等分的个数,应尽可能大*/

double a,b,h,;

/*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; /*步长的计算*/for(i=1;i

{s=s+f(a+i*h)*h;

}

printf("函数 f(x) 的积分值为 s=%10.6f\n",s);

}

/*以下为被积函数的定义,即函数举例*/

double f(double x)

{double y;

y=;

return (y);}

3.1.2程序一的编译运行

被积函数为f(x)=sqrt4-(x*x)的情况

先编译,再运行,屏幕显示及操作如下:

输入0+回车

输入2+回车

输入1000+回车

3.2程序二(中矩形公式)

3.2.1源程序

#include

#include

void main()

{double f(double x);

/*f(x)为函数举例,即被积函数*/

int i,n;

/*n为区间等分的个数,应尽可能大*/

double a,b,h,;

/*a为积分下限,b为积分上限,h为步长*/

printf(" a:\n");

scanf("%lf",&a);

printf("积分上限 b:\n");

scanf

c语言计算定积分有几种方法,C语言用6种方法求定积分.doc相关推荐

  1. r语言 计算模型的rmse_直播丨R语言与作物模型高级应用实战技术应用

    随着基于过程的作物生长模型(Process-based Crop Growth Simulation Model)的发展,R语言在作物生长模型和数据分析.挖掘和可视化中发挥着越来越重要的作用.想要成为 ...

  2. c语言计算利息答案是0.0,C语言 | 计算存款利息

    例2:用C语言计算存款利息.假设有本金1000元,想存一年,有三种方法可选择: 活期,年利率为0.0036: 一年期定期,年利率为0.0225: 存两次半年定期,年利率为0.0198. 请分别计算出一 ...

  3. c语言计算圆球体积r为整数,c语言 设圆球的半径为r,计算并输出圆球的体积v.输出结果...

    C语言 . 输入半径R ,并计算圆的面积S 和周长L .3. 编写一个程序实现把小写字母转换成大写字母.比如 #includeintmain(){floatr,s,l;scanf("%f&q ...

  4. c语言计算分段函数_Rust能够取代C语言吗?

    来自:InfoQ,译者:无明 链接:https://www.infoq.cn/article/Dmp1BvCyVrVRorOkreXj原文作者:EvroneRust 是 Mozilla 基金会的一个雄 ...

  5. c语言计算时钟的夹角不用if,C语言学习笔记——计算时钟的夹角

    C语言学习笔记--计算时钟的夹角 题目内容: 钟面上的时针和分针之间的夹角总是在 0 -180之间 ( 包括 0 和180 ) .举例来说,在十二点的时候两针之间的夹角为 0 ,而在六点的时候夹角为1 ...

  6. c语言计算总分和平均分float,用C语言编程平均分数

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 当个反面典型,让大家见识下丑陋无比的程序好了,主要是想练练打字,HOHO.应该用二维数组且全部函数化的,rand的%后面或是101或是100,可能和编译器 ...

  7. c语言计算矩阵的加法和乘法,C语言矩阵加法乘法

    并不是很难的问题,但是自己思考测试独立完成的,保存于此,给自己一点鼓励./* Author:SwordAutumn 2015年 04月 08日 星期三 15:35:00 CST */ #include ...

  8. 矩形法求定积分c语言流程图,矩形法求定积分其程序与程序框图的实现.doc

    矩形法求定积分及其程序与程序框图的实现 ――实例探索定积分思想,切实提高课堂效果 王亮 佛冈县第一中学 数学科 [摘 要]定积分"四部曲"思想,对高中生来说不易接受,教学上用计算机 ...

  9. R语言计算带有绝对值符号的函数偏导并输出偏导结果

    R语言计算带有绝对值符号的函数偏导并输出导数结果 求偏导后的导数表达式网上已有众多教程,这里主要对导数结果的输出及含有绝对值符号的的函数偏导运算进行方法阐述 对函数f=x*|y|*(z-x)求对x.y ...

  10. 求矩形的最小值c语言,C语言复习---矩形法求定积分函数

    #include #include using namespace std; int main(){ float fun(float x); float a, b; cout << &qu ...

最新文章

  1. Fckeditor常见漏洞的挖掘与利用整理汇总
  2. 如何简单形象又有趣地讲解神经网络是什么?(知乎) 说的人很多,理解很充分_kebu12345678的博客-CSDN博客_神经网络知乎
  3. Python常用模块之configparser模块
  4. 【深度学习】深入理解卷积神经网络(CNN)
  5. Java黑皮书课后题第4章:*4.11(十进制转十六进制)编写程序,提示用户输入0~15之间的一个整数,显示其对应的十六进制数。对于不正确的输入数字,提示非法输入
  6. C# winform C/S WebBrowser 微信第三方登录
  7. 【数据结构与算法】之深入解析“二叉树的后序遍历”的求解思路与算法示例
  8. [转载]EF中的那些批量操作
  9. pat 甲级 L3-002. 堆栈
  10. [Oracle SQL]最基本的connect by的用法
  11. yum install gcc 下载失败有可能是这个原因?
  12. 【Python基础】from pygame.base import * # pylint: disable=wildcard-import; lgtm[py/polluting-import] Mod
  13. 大前研一/聰明人必做的十件事
  14. 德国:认真是一种可怕的力量
  15. npmnjs学习笔记-moddle description编写规则
  16. Debussy5.4免费分享
  17. Windows 10 1809 on ubuntu1804 完美安装docker
  18. 京东到家埋点治理实践
  19. 基于某知名招聘网站的上海财务岗位数据分析(含excel可视化)
  20. 前端开发的流程与规范

热门文章

  1. mysql 加锁 索引_MySQL 加锁处理分析
  2. 为何老显示DOTA2服务器登录中,Dota2一直 正在登录服务器的解决办法
  3. 网易云轻舟微服务斩获“创新产品奖”等两项大奖
  4. 选用计算机教材的理由原因,教材选用及管理规定
  5. oracle数据如何采集,网页采集的数据如何导出到Oracle数据库 - 八爪鱼采集器
  6. 员工效率低下,责任在管理层的数学解释和分析
  7. 医学信息学计算机技术,2017年医学信息学专业大学排名
  8. 微信人脸SDK集成踩坑
  9. Android google中文开发网站
  10. 万用表使用_如何使用万用表