计算方法上机练习 数值积分

(包括两次的作业 )

马骢

问题: 《计算方法引论》pp.132–133 练习

分析:在实际应中基本的数值积分,可 以分为以下种类 :

• 牛顿型 :在给定有 限区 间上求等距节 点上 的函数值 。如牛顿-柯茨法则

(数值上不好用 )、矩形法则 、梯形法则 、辛 卜生法则 ,以及 “扩展 ”

(“复化 ”)的梯形法则或辛 卜生法则等等。

• 高斯型 :在有 限或无 限区间上 ,计算 由一族正交多项式 的根为节点处 的

函数值 。选择不 同的正交多项式可 以得到不 同的公式 ,如有 限区间上 的

高斯-勒让德公式 (经典高斯型积分 )、高斯-切 比谢夫公式 ,无 限区间上

的高斯-拉盖尔公式和高斯-埃尔米特公式。

牛顿型积分法又分为开式和 闭式 ,以及半开式 。开式不使用区间端点函数值 ,

这在端点处有可积奇点的时候有很大 的优越性 ;闭式使用两端点的函数值 ;半

开式则使用一个端点的函数值 。以下主要使用 闭式。

为了增强牛顿型积分的效果,通常可 以考虑 以下方面:

1. 增加次数 。使用更高次 的多项式 ,在被积 函数光滑型好 的情况下可 以提

高精度 ,但是我们始终要注意 的一点是代数精度不等于精确度 。在被积

函数不光滑 的时候高次公式可能引入 巨大误差 ,而且增加次数不能保证

收敛于真值 。

2. 复化 。将 区 间分成更 多小 区 间,在每个 (每 组 )小 区 间上使用低 次公

式 。这种方法如果使用得当可 以很好地提高精度 ,特别是复化梯形法在

被积 函数连续性 、光滑性很差 的时候是极其稳健 的方法 。不过这要求 函

数求值 的次数非常多,特别是在使用逐次半分法进行复化逼近 的时候 ,

如 果 区 间较长 ,或 函数跃变很大 ,则难 以收敛 ,并且舍入误 差积 累很

大。

3. 外插 。所谓 “外插 ”指 的是理查森 的间接求极 限法用于求积分 。将误差

项 的阶数看作步长 的函数 ,求 出步长逐渐减小时积分 的一系列近似值 ,

再将这些值外插 到步长 为0的极 限情况 ,得到的插值 结果作为数值积分

的结果 。在实现上有基于梯形公式 的龙 贝格法 。外插法 的速度快 ,但是

它适用 的范 围并不一定 因此扩大 。对于常规方法需要很多次计算才能逼

近 的情况 ,它 的求值 、四则运算次数一般也可能很多,舍入误差难 以控

制 。

高斯型积分 的节 点和权数需要预先计算好 ,节 点不能 自己选择 。其 中高

斯-勒让德型和高斯-切 比谢夫型 的积分节点 比较好计算 (前者利用解析性质结

合牛顿求根法 ,后者可写成显式 )。高斯-拉盖尔和高斯-埃尔米特型积分可分

别求半无穷或整个实数轴上 的积分 。勒让德型积分 比较普适 ;切 比谢夫型 的积

1

1

分适合于被积 函数 中有权 函数 因子 的情况 ,但一般情况下不及勒让德

1 − x2

2

型准确 。拉盖尔型和埃尔米特型分别适用于有权 函数e−x和e−x 的情形 。值得

注意 的是高斯型积分属于 “开式 ”积分 ,不受端点处可积奇点的影响。一般在

被积函数解析形式 已知,光滑型 比较好 的时候使用 ,以获取较大的精度 。

求解:我们只给出以上编写的函数 ,练习的求解仅仅是调用它们 。

• traprefin.m 逐次半分的梯形求积

fun

matlab内维尔差值代码,计算方法上机练习数值积分(包括两次作业).PDF相关推荐

  1. matlab用牛顿差值计算三次差值多项式,计算方法用Newton插值多项式求函数的近似值.docx...

    计算方法用Newton插值多项式求函数的近似值 计算方法课程设计题 目: 用Newton插值多项式 处理磁化曲线学 院: 理学院班 级: 学 生 姓 名: 学 生 学 号: 指 导 教 师: 2017 ...

  2. 如何用python计算excel两行之间的差值_excel表格求两列数据差值-怎样在EXCEL表格中求两列数的差?...

    怎样在EXCEL表格中求两列数的差? 1.双击打开需行求差的Excel表格,Excel表格. 2.在进入Excel表格后,使用鼠标需差的单元格,先选中其中一行即可. 3.在选中一行后,在单元格内输入& ...

  3. matlab 离散点差值,散点图的插值方法

    本帖最后由 MatlabBigFan 于 2016-1-5 03:35 编辑 大家好. 我有一个20000X3的data file,第一列是时间,第二列是位置,第三列是变量值.截取几行数据是这样的: ...

  4. 有限差分法matlab两点边值代码,两点边值问题的有限差分法汇总.doc

    学 生 实 验 报 告 实验课程名称 偏微分方程 开课实验室 数统学院 学 院 数统 年级 2013 专业班 信计2班 学 生 姓 名 学 号 开 课 时 间 2015 至 2016 学年第 2 学期 ...

  5. 有限差分法matlab两点边值代码,两点边值问题的有限差分法.doc

    两点边值问题的有限差分法.doc 学生实验报告实验课程名称偏微分方程数值解开课实验室数统学院学院数统年级2013专业班信计2班学生姓名学号开课时间2015至2016学年第2学期总成绩教师签名数学与统计 ...

  6. 将TIMESTAMP类型的差值转化为秒的方法

    两个TIMESTAMP之差得到的是INTERVAL类型,而有时我们只需要得到两个时间相差的秒数,如果变成INTERVAL之后,想要获取这个值会非常麻烦. 比较常见的方法是使用EXTRACT来抽取获得的 ...

  7. Matlab图形(Figure)中使用差值光标提取数据

    0. 原由 示波器中常用差值光标,用于捕捉曲线中的特征点,并计算出特征点之间的坐标差值. 差值光标在分析图形数据时很有用.可惜在Matlab的Figure工具栏中并没有提供,自带的数据提取功能似乎不如 ...

  8. 编程笔试(解析及代码实现):序列重排之给一个长度为n的序列A,求找出某种排列方式使得相邻两个数的差值之和最大并求出该最大值

    编程笔试(解析及代码实现):序列重排之给一个长度为n的序列A,求找出某种排列方式使得相邻两个数的差值之和最大并求出该最大值 目录 题目描述 代码实现 题目描述 序列重排:给一个长度为n的序列A,求找出 ...

  9. matlab通用程序,三次样条差值-matlab通用程序

    数值分析课程的大作业,教材<数值分析>李乃成.梅立泉 clear x=input('请按照格式[x1,x2,x3-]格式输入y=f(x)函数已知点的横座标xi=');   %三次样条差值函 ...

最新文章

  1. 制作显示欢迎信息的脚本程序
  2. VS asp.net 连接64位oracle 11g
  3. mysql DbProviderFactories.GetFactory失败,解决方法
  4. 《MySQL——join语句优化tips》
  5. ResourceDictionary主题资源替换(二) :编译期间,替换主题资源
  6. C++中直接存取类私有成员[360度]
  7. Python-接口自动化(七)
  8. postgreSQL源码分析——索引的建立与使用——GIN索引(1)
  9. 【BZOJ3884】上帝与集合的正确用法
  10. java oracle数据备份_Java后台备份oracle数据库脚本
  11. java数组实现队列_使用数组在Java中进行队列实现
  12. centos7-防火墙
  13. LightGBM-GBDT-LR使用树集合进行特征转换
  14. 如何在 SVG 和 Canvas 之间进行选择
  15. 极通EWEBS 常见问题及其解决办法
  16. pdf去除密码 html,pdf密码移除工具
  17. SAP HANA XS 专栏
  18. 勘测定界坐标交换格式文本文件转换成 shapefile 格式
  19. VAD检测原理及其过程
  20. 杭州-SQL杭州国迈软件有限公司笔试题

热门文章

  1. scala本地调试_如何编写自己的Java / Scala调试器
  2. nosql非关系型数据库_从Datomic出发,革命性的非NoSQL数据库
  3. 使用HazelCast进行休眠缓存:JPA缓存基础知识
  4. java实践_Java怪异实践
  5. 基于JBoss Fuse 6.2的JBoss BPM微服务集成指南
  6. powermock模拟对象_使用PowerMock测试对象的内部状态
  7. 您的Apache Camel应用程序现在包括现成的文档
  8. IDC关于使用JBoss Fuse的商业价值的报告(与Apache Camel一起使用)
  9. DI容器是代码污染者
  10. 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署