




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
收稿日期 2011 10 13 基金项目 海南省教育厅高校科研资助项目 Hjsk2011 23 海南大学教育教学科研资助项目 hdjy1005 作者简介 王浩华 1981 男 湖北天门人 海南大学信息科学技术学院讲师 硕士 第 30 卷 第 2 期海 南 大 学 学 报 自 然 科 学 版Vol 30 No 2 2012 年 6 月 NATURAL SCIENCE JOURNAL OF HAINAN UNIVERSITYJun 2012 文章编号 1004 1729 2012 02 0114 05 高等数学教学中计算机模拟技术的实现和应用 王浩华 1 叶 丹 2 1 海南大学 信息科学技术学院 海南 海口 570228 2 浠水县第一中学 湖北 黄冈 438200 摘要 介绍了计算机模拟技术在高等数学教学中应用的基本原理和方法 并给出了其算法的改进 提高了 计算结果的精度 同时 结合高等数学中的一些实例 借助 Matlab 软件使之得以实现 在计算机模拟技术的演 示下 使学生加深对高等数学概念 思想的理解 进而培养学生的数学思维能力 关键词 计算机模拟 Monte Carlo 算法 高等数学 教学 中图分类号 TP 39文献标志码 A 随着现代科学的发展 高等数学已经成为自然科学发展的理论基石 如何在高等数学教学过程中 向 学生深层次地展示高等数学所蕴含的基本思想 已成为众多教学工作者研究的热点 利用计算机模拟技 术来诠释高等数学中的基本思想也成为一项新兴的课题 笔者结合高等数学中一些常见的问题 借助计 算机模拟技术 不仅解决了高等数学中的一类问题 而且通过计算机的演示 还能加深学生对高等数学概 念 思想的理解 1Monte Carlo 的数学根源及其改进 1 1Monte Carlo 算法求积分的一般规则计算机随机模拟技术又称为 Monte Carlo 算法 其基本思想 如下 设欲求积分 I Df p dp 其中 D 表示积分区域 取 D 上任一联合概率密度函数 p 令 F p f p p p 0 0 p 0 设 p1 p2 pn为 D 上的随机样本 密度函数为 p 设 I Df p dp E F p 则有 I F n 1 n n i 1 F pi 即算术平均值就是积分的近似值 一般地 设 D 的体积 二维则为面积 为 VD 则概率密度函数 p 1 VD p D 0 其他 这时 F p VD f p 因而得 I F n 1 n n i 1 F pi VD n n i 1 f pi VD f p 1 称式 1 为求积分的 Monte Carlo 算法 当 n 时 由中心极限定理有 P lim n F n I 1 当 X 的概率分布为 x a x b 则 E f X b af x x dx 特别地 当 X 为 0 1 上的均匀分布时 x 1 1 0f x dx E f X 1 n n k 1 f xk 2 当计算在任意区间 a b 上积分时 要先作代换 将 x a b a u 化为 0 1 上的积分 1 0f x dx b a 1 0f a b a u du b a n n k 1 f a b a uk 3 其中 uk k 1 2 n 为 0 1 上的随机数 1 2提高Monte Carlo算法计算积分的精度Monte Carlo 算法具有众多优点 1 收敛速度不依赖外界 指标 2 与积分区域 D 的选取无关 3 程序结构简单 易于实现 因此 Monte Carlo 算法成为处理高维积 分和复杂积分强有力的近似计算工具 Monte Carlo 算法也存在缺点 1 随机数的均匀性直接影响其结果 2 收敛速度慢 3 误差是概率误 差 不是真正的误差 因此 为了提高近似计算的精度 可将 Monte Carlo 算法与数值算法相结合 以提高结果的精度 例 1 4 求定积分 2 0 4 x 槡 2dx 解由式 3 a 0 b 2 取 n 10 000 考虑到 Monte Carlo 算法随机模拟的特点 分别模拟5 次 Matlab 编程可得计算结果 如表 1 所示 表 1 Monte Carlo 算法随机模拟结果 模拟次数12345精确值 模拟结果3 123 73 137 33 136 13 127 93 134 3 用 Monte Carlo算法结合数值积分算法 即Newton Cotes公式 仍取n 10 000 仍模拟5 次 结果如表 2 所示 表 2Monte Carlo 算法结合数值积分算法随机模拟结果 4 模拟次数12345精确值 模拟结果3 141 593 141 593 141 593 141 593 141 59 由上述结果可知 直接用 Monte Carlo 算法求解定积分 即使取 n 10 000 但计算结果只有2 位有效 数字 而利用 Monte Carlo 算法结合数值积分算法 相同的模拟次数 有效数字却可达到6 位 可见 结合数 值算法大大提高 Monte Carlo 算法的精度 2改进后 Monte Carlo 算法的应用与实现 2 1Monte Carlo算法求一元方程的根求一元方程 f x 0 的根有很多算法 如迭代法 牛顿切线法 等 但这些数值算法的收敛性依赖于初始值 x0的选取 如何寻找合适的初始值 x0 在很大程度上决定算法 的有效性 利用 Monte Carlo 算法求方程的根则克服了算法对初始值 x0的依赖性 要解方程 f x 0 x a b 其中函数 f x 为连续函数 为指定精度 令 Xd a Xu b k 1 F0 1 F0 进行以下步骤 步骤1令 k k 1 在 Xd Xu 内产生 n 个随机数 x i i 1 2 n 计算并比较出这 n 个随机数 511第 2 期王浩华等 高等数学教学中计算机模拟技术的实现和应用 的函数绝对值的最小值 f xnk min 1 i n f xi 令 F0 k min F0 k 1 f xnk 步骤 2若 F0 k 成立 则终止计算 令 f x xnk即为方程的根 若 F0 k 且 F0 k F0 k 1 则令 k k 1 并转至步骤 1 若 F0 k F0 k F0 k 1 则令 fx xnk 转至步骤 3 步骤 3令 d d0 k Xd fx d Xu fx d 转至步骤 1 注 1 F0是人为给定的一个很大的正数 d0 b a 且 d0 0 2 取 d d0 k 是为了减小收索区间 以加快收敛速度 3 区间 Xd Xu a b 由此产生迭代序列 F0 1 F0 2 F0 k 最终使 F0 k 成立 得出函数 f x 0 x a b 达到精度要求的根 fr 例2求方程f x exp x3 tan x 800 0在 0 2 的实根 假定只要满足 f x 10 5 则认为 x 为根 解对任意给定的初始值 如 0 0 3 1 1 1 1 4 等 用熟知的牛顿法在定义区间 0 2 内找不到 根 若用改进的 Monte Carlo 算法 则不需要给定初始值 下为用改进的 Monte Carlo 算法求方程的根的 Matlab 程序 n 10000 xu pi 2 xd 0 k 1 fx 1 1000 d0 1e 4 while fx k 1e 5 k k 1 x unifrnd xd xu n 1 y exp x 3 tan x 800 fx k fx k 1 for i 1 n if abs y i fx k fx k abs y i x fx k end end if fx k fx k 1 k k 1 continue end fr x d d0 k xu fr d xd fr d end 表 3 Matlab 程序结果 k12345678fr fx k 1 00041 95112 103 0 004 377 75 74e 5 1 707 9e 5 1 27e 52 695e 61 569 5 由表 3 可知 序列 fx k 单调递减 fr 1 569 5 时 函数值为 f fr fx 8 2 695e 6 1e 5 因此方程的近似根为 fr 1 569 5 2 2Monte Carlo 算法计算国土面积已知欧洲某国家的地图 为了算出它的国土面积 首先对地图作 如下测量 以由西向东方向为x轴 由南向北方向为y轴 并将从最西边界点到最东边界点在 x轴上的区间 适当地分为若干段 在每个分点的 y 方向测出南边界点和北边界点的 y 坐标 y1和 y2 由此得表 4 的数据 由地图比例尺可知18 mm 相当于40 km 试由测量数据计算该国国土面积 与它的精确值41 288 km2 比较 611海 南 大 学 学 报 自 然 科 学 版2012 年 表 4某国国土地图边界测量值 7 mm xy1y2xy1y2 7 0 10 5 13 0 17 5 34 0 40 5 44 5 48 0 56 0 61 0 68 5 76 5 80 5 91 0 44 45 47 50 50 38 30 30 34 36 34 41 45 46 44 59 70 72 93 100 110 110 110 117 118 116 118 118 96 0 101 0 104 0 106 5 111 5 118 0 123 5 136 5 142 0 146 0 150 0 157 0 158 0 43 37 33 28 32 65 55 54 52 50 66 66 68 121 124 121 121 121 122 116 83 81 82 86 85 68 Y ymax ymin x y xmaxXO 图1随机投点拟合图 xmin 可利用 Monte Corlo 算法计算曲线所围面积 问题 求解思路如下 通过计算机编程 在图 1 中产生随机点 于矩形区域内 产生的点数设为 N 如果点产生在曲线 所围区域内 则计数器 m 加 1 最后根据公式 Area m N S矩形 当 N 时 越接近真实值 假设从最西边界点到最东边界点 变量 x a b 这两点把边界分为上下 2 条边界曲线 根据测量数据 利用 Matlab 软件对上下边界进行3 次多项式插值 设上 边界函数为 f2 x 下边界函数为 f1 x 在矩形区域内 产生随机点 x y 如果f1 x y f2 x 则表示点落 在区域内 否则落在区域外 此程序取 N 10 000 在长方形区域内产生10 000 个随机点 运行2 次得到10 个面积如表5 取平均 值 42 148 km2作为面积值 与真实值误差 2 08 表 5Monte Carlo 算法计算面积所得数据 次数 面积 km2 A1A2A3A4A5A6A7A8A9A10 第 1 次42 09941 91342 14242 63641 89941 35542 71541 79941 83442 250 第 2 次41 67742 57941 94243 10142 47941 99942 19242 47941 52742 343 Monte Carlo 算法源程序 clear all x 7 0 10 5 13 0 17 5 34 0 40 5 44 5 48 0 56 0 61 0 68 5 76 5 80 5 91 0 96 0 101 0 104 0 106 5 111 5 118 0 123 5 136 5 142 0 146 0 150 0 157 0 158 0 y1 44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68 y2 44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68 L max x min x H max y2 min y1 for k 1 10 711第 2 期王浩华等 高等数学教学中计算机模拟技术的实现和应用 n 10000 m 0 for i 1 n u i unifrnd min x max x v i unifrnd min y1 max y2 f1 interp1 x y1 u i cubic f2 interp1 x y2 u i cubic if v i f1 v i f2 m m 1 end end S L H m n 18 2 1600 end 参考文献 1 李志林 欧宜贵 计算机模拟建模 J 工程数学学报 2005 22 8 81 84 2 刘旭华 浅谈蒙特卡罗发在概率统计教学中的应用 J 大学数学 2010 26 2 200 202 3 柴中林 引俊成 蒙特卡罗方法计算定积分的进一步讨论 J 应用数学与计算数学学报 2008 22 1 125 128 4 陈佩宁 刘宁 用 MATLAB 求数值积分的方法 J 石家庄职业技术学院学报 2008 20 6 58 60 5 姚金斌 李志林 欧宜贵 数学建模思想融入微分方程应用中的一个教学案例 J 工程数学学报 2007 24 Supp 1 13 17 6 李志林 欧宜贵 信息技术与数学建模课程教学融合的探索 J 高等理科教育 2006 5 126 128 7 姜启源 刑文训 谢金星 等 大学数学实验 M 北京 清华大学出版社 2005 Application of Computer Simulation Technology in Teaching Higher Mathematics WANG Hao hua1 YE Dan2 1 College of Information Sciencie Technology Hainan University Haikou 570228 China 2 The first middle school of city Xis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村集体资金入股合同范本
- 鱼船买卖合同协议书模板
- 船员的正规劳务合同范本
- 芯模板行业期货合同范本
- 游艇修理合同协议书模板
- 照明灯安装合同补充协议
- 高速便道租用协议书范本
- 肇庆正规劳务派遣协议书
- 高价回购铝合金合同范本
- 理发店长期消费合同范本
- 《大模型原理与技术》全套教学课件
- 《出口退税培训》课件
- 雾化吸入疗法课件
- 高考补习班招生策划书策划方案
- 康明斯产品合格证
- 矿山废水处理行业调研及投资前景分析报告
- DB13 5808-2023 餐饮业大气污染物排放标准
- 【五升六暑期阅读】专题10.环境描写及其作用-2024年五升六暑期阅读专项提升(统编版)5
- 【电商直播对消费者购买行为影响:以抖音直播为例开题报告1800字】
- AQ 2003-2018 轧钢安全规程(正式版)
- (高清版)WST 348-2024 尿液标本的采集与处理
评论
0/150
提交评论