编程实现数值积分的几种--方法 c语言.doc

第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 1 编程实现数值积分的几种 方法 c 语言 数值计算 2010-11-05 095243 阅读 385 评论 1 字号 大 中 小 订阅 复化梯形公式 在区间 不大时 , 用梯形公式、辛卜生公式计算定积分是简单实用的 , 但当区间 较大时 , 用梯形公式、辛卜生公式计算定积分达不到精确度要求 . 为了提高计算的精确度,我们将 a,b 区间 n 等分,在每个小区间上应用梯形公式、辛卜生公式计算定积分,然后将其结果相加,这样就得到了复化梯形公式和复化辛卜生公式。 1. 复化梯形公式 将积分区间 等分 , 设 , 则节点为 对每个小区间上应用梯形公式 , 然后将其结果相加,则得 3.14 称 3.14 式为复化梯形公式 . 当 在 a,b 上有连续的二阶导数时,则复化梯形公式 3.14 的余项推导如下 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 2 因为 所以在区间 a,b 上公式 3.14 的误差为 又因为 在区间 a,b 上连续,由连续函数的性质知,在区间 a,b 上存在一点 , 于是 ( 3.15 ) 复化梯形公式,复化抛物线公式和 Romberg 求积法的算法程序 以下程序均定义误差限为 1*10-5; 1复化梯形公式 include include 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 3 define e 1e-5 define a 0 积分下限 a define b 1 积分上限 b define fx 4/1x*x 被积函数 fx int main int i,n; double h,t0,t,g; n1; 赋初值 hdoubleb-a/2; th*fafb; do t0t; g0; for i1;ie; 自定义误差限 e printf“.8lf“,t; 输出积分的近似值 return 0; 2复化抛物线公式 include include define e 1e-5 define a 0 积分下限 a define b 1 积分上限 b define fx 4/1x*x 被积函数 fx int main int i,n; double f1,f2,f3,h,s0,s; f1fafb; 赋初值 f2fdoubleba/2; 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 5 f30; sdoubleb-a/6*f14*f2; n2; hdoubleb-a/4; do 复化抛物线算法 f2f3; s0s; f30; for i1;ie; 自定义误差限 printf“.8lf“,s; return 0; 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 6 3Romberg 求积法 include include define e 1e-5 define a 0 积分下限 a define b 1 积分上限 b define fx 4/1x*x 被积函数 fx double t100100; int main int n,k,i,m; double h,g,p; hdoubleb-a/2; t00h*fafb; k1; n1; do Romberg 算法 g0; for i1;ie; 自定义误差限 e printf“.8lf“,t0m; return 0; 给定精度,定义误差限为 1*10-5,分别求出步长的先验估计值用复化梯形公式计算,要求 h1就可以得到收敛情况的解 。 图 2.2.19积分 11 dxxp 在 p1的情况下 的 Mathematica运算结果 3.数值积分 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 21 数值积分是解决求定积分的另一种有效的方法,它可以给出一个近似解。特别是对 于用 Integrate命令无法求出的定积分,数值积分更是可以发挥巨大作用。 它的 主要 命令格式为 表 2.2.3中的命令。 表 2.2.3 数值积分 一些主要命令 Nintegratef,x,a,b 在 a,b上求 f数值积分 Nintegratef,x,a,x1,x2b 以 x1,x2. 为分割求 a,b上的数值积分 Nintegratef,x,a,b,MaxRecursionn 求数值积分时指定迭代次数 n. 下面我们求 sinsinx在 0, 上的积分值,由于这 个函数的不定积分求不出,因此使用Integrate命令无法得到具体结果,但可以用数值积分 可以求得近似值。如例 2.2.18。 例 2.2.18 求 积分 0sinsinxdx。 这个被积函数 fxsinsinx找不到初等的原函数 ,用命令 Integratef,x,min,max直接输入,得不到结果。但用命令 Nintegratef,x,a,b输入,即可得到近似值。具体情况参见图 2.2.20,其中 Pi 表示 。 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 22 图 2.2.20 积分 0sinsinxdx 在 Mathematica 程序下的数值解 如果积分 的被 函数存在不连续点,或存在奇 异 点我们可对积分进行分段求解。例如 例2.2.19。 例 2.2.19 求积分 11 x1dx。 被积函数x1在 -1, 1上,显然有 x0点是一个无穷间断点。因此若要求其数值积分,必须在其中插入点 0。于是,利用数值积分命令 Nintegratef,x,xmin, x1, x2 xmax输入,其中 x1, x2,是奇异点。这样就可得到积分的数值解。具体操作参见图 2.2.21 图 2.2.21 积分 11 x1dx 在 Mathematica 程序下的数值解 对无穷积分,也可求 得积分数值解 ,例如 例 2.2.20。 例 2.2.20 求积分 dxe x 02 。 第二篇 数学试验 第 2 章 数学试验 2.2 实验 2 一元微积分的编程实现 23 对于 求 无穷积分的数值解 ,也可以直接用命令 Nintegratef,x,a,b,其中 b可以用无穷大 Infinity替换。 具体操作参见图 2.2.22。 图 2.2.22 积分 dxe x 02 在 Mathematica 程序下的数值解 思考题 可以将第一篇中的习题一、习题二中的题用 Mathematica程序 做一下。

数值积分c语言,编程实现数值积分的几种--方法 c语言.doc相关推荐

  1. 对c语言编程的感受,感受一种被“C语言编程”困惑的书(Stephen Kochan)

    我一直在C语言程序设计中学习C语言中的朋友推荐的书.书名为"C语言编程"由Stephen Kochan提供.感受一种被"C语言编程"困惑的书(Stephen K ...

  2. 个人所得税递归函数C语言,C语言实现 计算个人所得税务2种方法

    #include #include /* 基于C语言的个人所得税计税系统 问题描述: 我国现行的个人所得税计算方法如下: 级数 全月应纳税所得额   税率(%) 1 不超过500元的    5 2 超 ...

  3. 嵌入式编程C语言提高代码效率的14种方法

    嵌入式编程C语言提高代码效率的14种方法 1.在可能的情况下使用typedef替代define.当然有时候你无法避免define,但是typedef更好. typedef int* INT_PTR; ...

  4. 会c 学plc编程语言,想学PLC编程?先弄清5种PLC专用语言!

    PLC目前有5种标准的编程语言,包含图形化编程语言和文本化编程语言. 图形化编程语言包含:梯形图(LD-Ladder Diagram).功能块图(FBD - Function Block Diagra ...

  5. c语言编程:vc++6.0入门教程及习题_百度文库,C语言编程:vc++6.0入门教程及习题.doc...

    C语言编程:vc++6.0入门教程及习题.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址 ...

  6. c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程.doc

    c语言计算机编程三种方法求解非线性方程.doc 本 科 专 业 学 年 论 文题 目非线性方程求解比较姓 名 何 娟 专 业 计算机科学技术系 班 级 08 级本科(2)班 指 导 老 师 刘 晓 娜 ...

  7. c语言如何编程出声音,C/C++知识点之C语言播放声音最简单的两种方法

    本文主要向大家介绍了C/C++知识点之C语言播放声音最简单的两种方法,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助.1. 如果仅需要播放波形文件wav格式的声音,很简单,只需一句话 ...

  8. C语言清空输入缓冲区的N种方法对比

    C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 ...

  9. Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能

    Python语言学习:基于python五种方法实现使用某函数名[func_01]的字符串格式('func_01')来调用该函数[func_01]执行功能 目录 问题提出 代码五种设计思路 T1方法:e ...

最新文章

  1. 计算机应用公共课程,公共基础课程中计算机应用管理制度
  2. 神经网络第一步,手写数字识别的例子分享给大家
  3. 使用JavaMail发送邮件,465端口开启ssl加密传输
  4. android自定义属性dimen,android代码里的dimen
  5. jslint4java_JSLint检测javascript的错误提示
  6. iverilog命令选项解释
  7. Qt字符串转日期时间-毫秒
  8. vue computed 中操作DOM和给对象添加属性遇到的问题
  9. 字节跳动面试真题:java程序设计基础教程
  10. 如何制作一款HTML5 RPG游戏引擎——第一篇,地图类的实现
  11. Android 四大组件学习之Service七
  12. php format tool,usb 開機碟製作工具HP USB Disk Storage format Tool 2.23
  13. 首都师范 博弈论 9 5 5引入物质奖励后的博弈模型
  14. 10款精美的web前端源码的特效
  15. linux取证——基础取证命令集合
  16. 手游开发者大会交流OGEngine新版本发布
  17. SQLite+python
  18. 腾讯云轻量服务器蜂驰版测评及横向对比
  19. 阿里云HaaS100物联网开发板学习笔记(一)硬件资源介绍
  20. 【Unity3d】 教会你如何做一个简单的电梯系统(升降平台)

热门文章

  1. Visual Studio 2013中引入Web Service的简单方法visual studio 引用 wsdl
  2. RAM,ROM,SRAM,SDRAM,DDR内存
  3. python之父是哪个国家的品牌_什么?Python4要来了?快来看看Python之父怎么说
  4. 【VOLTE】【ESRVCC】【4】eSRVCC
  5. 移动端调试神器vConsole
  6. OpenWrt21 EC20 R2.0驱动添加
  7. UI自动化脚本运行找不到元素解决方案
  8. silabs tools
  9. 各个数据库的默认端口号以及驱动和链接url
  10. SMMU架构手册之数据结构和转换流程(1)