第六章 6.1 常微分方程及其求解概述 6.2 初值问题解法 6.3 边值问题解法

Slides:



Advertisements
Similar presentations
完美殺人筆記簿 【爸!我受夠了!】 第七組組員: 林正敏 陳筱涵 李蓓宇 許純宜 羅玉芬 謝文軒.
Advertisements

版 画 制 作版 画 制 作 版 画 种 类版 画 种 类 版 画 作 品版 画 作 品 刘承川.
學校日簡報 ~ 608 ( 六下 ) 歡迎各位家長! 報告者:黃怡萍老師. 主題一 : 滿滿的感謝 一年多來感謝家長們的支持與鼓勵,使班 務運作順利,親師生溝通良好;六年級下 學期是貴子弟國小生涯的最後一階段,時 間雖然短暫,但老師也擬定最後衝刺的目 標,希望親師生三方持續合作,讓我們愉 快的度過每一天。
請按左鍵換頁 為人的藝術 ~善緣貴人多~ 廣結善緣 1. 有什麼觀念,就有什麼行為; 有什麼行為,就有什麼習慣; 有什麼習慣,就有什麼性格; 有什麼性格,就有什麼命運。 2. 對長輩謙虛是本分,對平輩謙虛是修養, 對 晚輩謙虛是高貴,對所有人謙虛是安全。 3. 廣結善緣,圓融的人際關係( EQ ):
1 4.5 高斯求积公式 一般理论 求积公式 含有 个待定参数 当 为等距节点时得到的插值求积公式其代数精度至少 为 次. 如果适当选取 有可能使求积公式 具有 次代数精度,这类求积公式称为高斯 (Gauss) 求积公式.
663 Chapter 14 Integral Transform Method Integral transform 可以表示成如下的積分式的 transform  kernel Laplace transform is one of the integral transform 本章討論的 integral.
大家好,我是 NTOU/MSV 工數教學的 York 老師,今天跟大家講解工程數學的第 一課,一階常微分方程。 一般我們講一階 ODE , first order ordinary differential equation 。這邊的話我 們建議大家要先修過微積分,才能懂得我們要講甚麼。另外也有 PDE.
楊學成 老師 Chapter 1 First-order Differential Equation.
( Numerical Methods for Ordinary Differential Equations )
二、国家的宏观调控 思 想 政 治思 想 政 治 第二课 第二节 社会主义市场经济的基本特征 XXY.
1 第十章 利润分配管理 主讲人:贾震奇 2 诱人的蛋糕,犹 豫的餐刀,如何分配, 能使效用最大,能把 蛋糕做得更大?
揭日本人让人理解不了的20件事 今天先来看看日本人的自我剖析︰日本人的20个“为什么”?这“20个为什么”的内容来源于日本影视名人北野武所主持的一个节目。虽然不是网友来信中提出过的问题,但看看日本人自己对自己的分析,是挺有意思的。而且,仔细看看下面这“日本人的20个为什么”,会发现其实有些东西对于中国人来说并不陌生。毕竟汉字圈里的文化,是有共融之处的。
芯福里情緒教育推廣協會 EQ教育基礎志工培訓課程
幼小課程統合與銜接 楊朝祥 中原大學講座教授.
性教育教學模組設計 主題:身體自主權 台中市忠明國小 巫偉鈴.
機關改制(含員工權益保障)業務簡介 報告人:王奐寅 100年6月24日.
第八章 组织文化的整合 ——并购中的文化整合(二) 小组成员:浦若蓉、朱谷一、贾彦彦.
追求阳光心态 做一个心理健康的人 上海市徐汇区精神卫生中心 吴洪明.
整体销售方案 中山市美好物业代理有限公司
耶和華神已掌權 主耶和華我的神 我的王 我的心要倚靠祢 凡投靠祢的必不懼怕 等候祢的必不羞愧 願祢的崇高過於諸天 祢的榮耀高過全地
第九章 常微分方程的数值解法 主 要 内 容 §1、引言 §2、初值问题的数值解法--单步法 §3、龙格-库塔方法 §4、收敛性与稳定性
臺中市頭家國小 生理衛生講座 青春期的奧秘 ‧說到青春期,你會想到? ‧班級表現最好的,有獎徵答有優先權。 葉孟娟老師、黃文玲老師.
保良局何壽南小學 學校經驗分享: 學生成長的支援
主講者:林妙容 國立暨南國際大學 輔導與諮商研究所專任助理教授
教师应做学生的心理保健师 (之三) 昆明市心桥心理健康研究所 钱锡安
景气回升 估值偏低 汽车行业2006年中期投资策略 招商证券研究发展中心 林钟斌 二零零六年六月.
教您如何选购血糖仪 之血糖仪选购篇 检测小窍门【如何检测血糖仪误差?】 糖友在医院使用生化检测血糖值时,同时使用血糖仪检测血糖值,并记录
收益分配篇(10.2) 财务管理 退出 学习目标 新课内容 课堂练习 课后作业 经典案例 网上资讯.
國中小教師甄試相關事宜 心理的準備 甄試日期 甄試方式 甄試內容 正式教師與代課教師差別 相關問題 關起門來說的問題 結語.
校 長 翁世盟 家長會長 蔡宏奕 教師會長 葉蕙境 敬上
胚胎学总论 (I) 制作:皖南医学院组胚教研室.
1. 民主社會裡,公民的參與有其重要性,而透過政治參與無法達成下列哪一項目的?
課程內容 態度決定高度 履歷及面試重點提要 履歷 面試服裝及注意事項 性向分析 性向分析測驗.
电话联系.
迎宾员礼仪 包头机电工业职业学校管理系 白琳 1.
公主的月亮 最近看了一本友人劉清彥譯的書〔公主的月亮〕,極有趣味。 這個難題由一個生病的小公主提出,她嬌憨的告訴疼她的國王,
公主的月亮 最近看了一本友人劉清彥譯的書〔公主的月亮〕,極有趣味。 這個難題由一個生病的小公主提出,她嬌憨的告訴疼她的國王,
Chapter 4 流程控制.
第九組 組員:林世雲 葉永國 陳宥辰 指導老師:林永崇
為人的藝術 ~善緣貴人多~ 請按左鍵換頁.
為人的藝術 ~善緣貴人多~ 請按左鍵換頁.
常常喜乐 赞美我主.
互 联 网 对 减 速 机 技 术 及 市 场 发 展 的 影 响 乔 华 山.
EQ劇場 ~ 李爾王.
财 务 会 计 第四篇:供应链会计实务 制作人:谌君、熊瑜.
穩定是指偏離平衡時能夠回復平衡的特性,控制則是改變飛行狀態的機制。
工程數學 Chapter 12 PDE 楊學成 老師.
3-3 Modeling with Systems of DEs
用教学实践解读课程标准.
Differential Equations (DE)
第三章 词法分析.
線性一階微分方程與尤拉法 線性一階微分方程式求解 (Linear First-Order Differential Equations)
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
第四节 函数展开成幂级数 本节内容: 一、泰勒 ( Taylor ) 级数 二、函数展开成幂级数 第十二章 两类问题: 在收敛域内 求 和
第14章 總體經濟政策之爭論:法則與權衡性.
第九章 目标代码生成.
第3章 流程控制和逻辑运算.
课题2 宏程序编程介绍 1、宏变量 2、常量 3、运算符与表达式 4、赋值语句 5、条件判别语句IF,ELSE,ENDIF
面試的準備 1.
沙田聖本篤堂 家庭牧民小組 簡介. 沙田聖本篤堂 家庭牧民小組 簡介 成立過程: 2000年教區會議期間,甘寶維神父邀請數對活躍於堂區夫婦商討籌辦家庭牧民小組的可行性 2000/01年間舉辦數次「家事談論會」凝聚有意投身服務人士,小組開始成型.
國立臺灣海洋大學 機械與機電工程學系 PDE 期末報告
100學年度上學期 月亮班課程規劃.
香港大學教育應用資訊科技發展研究中心 資訊年代青年自學才能拓展計劃 (S計劃)
 隐式欧拉法 /* implicit Euler method */
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
班級經營--實務:疑難雜症 組員: 周雅文 李桂枝 顏純郁 黃福裕 戴曉真
厉害了,我的国! 15会计2班团支部 2018年4月20日.
教学大纲(甲型,54学时 ) 教学大纲(乙型, 36学时 )
第二章 一元一次不等式和一元一次不等式组 回顾与复习(一).
Presentation transcript:

第六章 6.1 常微分方程及其求解概述 6.2 初值问题解法 6.3 边值问题解法 第六章 常微分方程及 方程组的解法 6.1 常微分方程及其求解概述 6.2 初值问题解法 6.3 边值问题解法 浙江大学研究生学位课程 《实用数值计算方法》 常微分方程及方程组的解法

6.1 常微分方程及其求解概述 6.2 初值问题解法 6.3 边值问题解法 1.Euler方法 2.线性多步法 6.1 常微分方程及其求解概述 6.2 初值问题解法 1.Euler方法 2.线性多步法 3.Runge--Kutta法 4.方程组及刚性问题的Gear方法 6.3 边值问题解法 1.Shooting(试射法) 2.差分法 浙江大学研究生学位课程 《实用数值计算方法》

6.1 常微分方程及求解概述 (Ordinary Differential Equations, ODE) 6.1.1 基本概念 描述自由落体的ODE: 浙江大学研究生学位课程 《实用数值计算方法》

 (6-2),(6-3)是(6-1)的初始条件。亦称定解 条件。(6-1)(6-2)叫做初值问题。 6.1.1  只有一个自变量的微分方程为 ODE, 否则称为偏微分方程 PDE。  方程中未知函数导数的最高阶数称为 方程的阶。 (6-4)是二阶的  方程中关于未知函数及其各阶导数 均是一次的,则称为线性微分方程。 和(6-1)都是线性二阶ODE。  (6-2),(6-3)是(6-1)的初始条件。亦称定解 条件。(6-1)(6-2)叫做初值问题。 浙江大学研究生学位课程 《实用数值计算方法》

(6-1),(6-3)叫做边值问题。  在没有给定解条件时。方程一般 有一族解曲线 y(x,c) 。如: 6.1.1 (6-1),(6-3)叫做边值问题。  在没有给定解条件时。方程一般 有一族解曲线 y(x,c) 。如:  对任意的n阶ODE,如果能写成: 则称该方程为显式的。方程(6-4)是 显式的。而下面方程是隐式的。 浙江大学研究生学位课程 《实用数值计算方法》

6.1.1  对于高阶显式方程。通过定义n-1个 新变量,可以写成n维一阶方程组。 即令: 浙江大学研究生学位课程 《实用数值计算方法》

 当 f(x,y)与y无关时,f(x,y)=g(x) 6.1.1  在讨论初值问题时,我们从一阶方 程开始: 然后毫不费力地套用来解方程组。  当 f(x,y)与y无关时,f(x,y)=g(x) 浙江大学研究生学位课程 《实用数值计算方法》

6.1.2 数值解及其重要性   浙江大学研究生学位课程 《实用数值计算方法》

6.1.3 ODE数值解的基本思想和方法特点 基本思想有两点 1. 离散化 用Taylor级数,数值积分和差商 的代数方程(称差分方程)。 2. 递推化 在具有唯一解的条件下,通过 步进法逐步计算出解在一系列离散 点上的值。从而得到原ODE的数值 近似解。 浙江大学研究生学位课程 《实用数值计算方法》

6.2 初值问题解法 我们讨论一阶ODE,而高阶可 能化为一阶ODEs。一阶初值问题 可以一般地写成: 6.2.1 欧拉(Euler)方法 6.2 初值问题解法 我们讨论一阶ODE,而高阶可 能化为一阶ODEs。一阶初值问题 可以一般地写成: 6.2.1 欧拉(Euler)方法 Euler方法是求解(6-8)最简单方法, 但精度差,故不实用。然而对理论分 析很有用。 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 6.2.1.1 方法原理及推导 设初值问题(6-8)满足: 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 图 6.1 常微分方程初值问题的数值解 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 欧拉方法的几何意义: h步长 图 6.2 Euler方法的几何意义 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 单步法 自动起步 显式 多 步 法 隐式 半隐式 图 6.3 ODE求解方法的类型 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 表 6.1 自由落体运动方程的Euler公式求解 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 图 6.4 运动轨迹 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1.2 Euler方法的误差估计 一般其它方法的误差估计也类似。 这里误差是指截断误差(算法理论误 差) 而不是舍入误差。后者由计算机字 长等决定,属于稳定性问题。 i) 几何分析 图 6.5 Euler公式的误差 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 局部截断 误差, 浙江大学研究生学位课程 《实用数值计算方法》

整体截断误差:设ym是Euler公式(6-9) 精确解,而 y(x) 是初值问题(6-8)的解。 则 整体截断误差定义为 6.2.1 整体截断误差:设ym是Euler公式(6-9) 精确解,而 y(x) 是初值问题(6-8)的解。 则 整体截断误差定义为 它是局部截断误差的积累。 定理:若f(x,y)关于y满足Lipschitz条件。 则有估计式: 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 注意: 稳定性: 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 表 6.2 予估校正求解结果对比 浙江大学研究生学位课程 《实用数值计算方法》

6.2.1 表 6.3 Euler法与外推结果的比较 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 线性多步法 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 () () 浙江大学研究生学位课程 《实用数值计算方法》

表 6.4 外插系数bki值 Adams 外插法 (k=2) 3阶3步 显式 图 6.6 3阶3步外插法 6.2.2 浙江大学研究生学位课程 图 6.6 3阶3步外插法 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 Adams 外插法 (k=2) 4阶3步 图 6.7 4步3阶Adams内插公式 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 图 6.8 一般化插值形式 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 图 6.9 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 线性多步法的绝对稳定性: 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 定义: 绝对稳定。 绝对稳定区域。 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 Milne 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 表 6.6 计算结果 浙江大学研究生学位课程 《实用数值计算方法》

(Predictor--Corrector Method) 6.2.2 6.2.2.4 预估--校正方法 (Predictor--Corrector Method) 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 浙江大学研究生学位课程 《实用数值计算方法》

注意:一步校正的计算量  预估计算量。 所以要适当选取h才能发挥PC的优点。 设绝对稳定区域: 达到精度的校正次数为N,则h的选取, 6.2.2 注意:一步校正的计算量  预估计算量。 所以要适当选取h才能发挥PC的优点。 设绝对稳定区域: 达到精度的校正次数为N,则h的选取, 应满足: 否则可用N步显式算法稳定达到目的。 h 浙江大学研究生学位课程 《实用数值计算方法》

6.2.2 Adams四步四阶预估校正算法 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 Runge--Kutta 方法 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 六个未知数,二个自由,故可取 故: 浙江大学研究生学位课程 《实用数值计算方法》

----最常用的古典Runge-Kutta方法。 增加计算函数值的次数(级)与提高精 度(阶)的关系见下表: 6.2.3 N=4: 四级四阶R--K方法 ----最常用的古典Runge-Kutta方法。 增加计算函数值的次数(级)与提高精 度(阶)的关系见下表: 表 6.7 Runge-Kutta方法中级与阶的关系 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 表 6.8 各种解法在例题中的结果比较 浙江大学研究生学位课程 《实用数值计算方法》

(2). 单步法,自动起步 (3). 易改为变步长 (4). 绝对稳定区域较同阶线性多步法大 (5). 计算工作量较大,有时大于隐式方法 6.2.3 (2). 单步法,自动起步 (3). 易改为变步长 (4). 绝对稳定区域较同阶线性多步法大 (5). 计算工作量较大,有时大于隐式方法 (6). 估计误差不易 绝对稳定性讨论 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 表 6.9 各级R-K方法的绝对稳定区域 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 表 6.10 不同步长对精度的影响 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 浙江大学研究生学位课程 《实用数值计算方法》

图 6.10 变步长Runge--Kutta方法框图 6.2.3 P阶 图 6.10 变步长Runge--Kutta方法框图 浙江大学研究生学位课程 《实用数值计算方法》

6.2.3 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 出发值的计算 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 浙江大学研究生学位课程 《实用数值计算方法》

质量控制 Runge--Kutta 步进程序 6.2.4 质量控制 Runge--Kutta 步进程序 SUBROUTINE RKQC(Y, DYDX, N, X, HTRY,EPS,YSCAL,HDID,HNEXT,DERIVS) PARAMETER (NMAX=10, PGROW=-0.20, PSHRINK=-0.25, FCOR=1./15. ONE=1.0, SAFETY=0.9, ERRCON=6.E-4 EXTERNAL DERIVS DIMENSION Y(N), DYSX(N), YSCAL(N), YTEMP(NMAX), YSAV(NMAX), DYSAV(NMAX) XSAV=X 保留初值 DO 11 I=1,N YSAV(I)=Y(I) DYSAV(I)=DYDX(I) H=HTRY HH=0.5H CALL RK4 (YSAV, DYSAV, N, XSAV, HH, YTEMP, DERIVS) X=XSAV+HH CALL DERIVS (X, YTEMP, DYDX) CALL RK4 (YTMP, DYDX, N, X, HH, Y, DERIVS) X=XSAV+H IF (X. EQ. XSAV) PAUS E ‘步长无意义’ ERRMAX=0. DO 12 I=1,N YTEMP(I)=Y(I)-YTEMP(I) ERRMAX = MAX(ERRMAX, ABS(YTEMP(I) / YSCAL(I))) ERRMAX = ERRMAX / EPS   置初始值 11 1 两个半步长计算 一个单步计算 12 误差计算 浙江大学研究生学位课程 《实用数值计算方法》

COMMON /PATH/ KMAX,KOUNT,DXSAV,X(200),Y(10,200) EXTERNAL DERIVS RKQC 6.2.4 PARAMETER (NVAR=4) DIMENSION VS(NVAR) COMMON /PATH/ KMAX,KOUNT,DXSAV,X(200),Y(10,200) EXTERNAL DERIVS RKQC X1=1.0 X2=10.0 VS(1)=BESSO(X1) VS(2)=BESSI(X1) VS(3)=BESSJ(2,X1) VS(4)=BESSJ(3,X1) EPS=1.0E-4 HI=1.0 HMIN=0.0 KMAX=100 DXSAV=(X1-X2)/20.0 CALL ODEINT (VS,NVAR,X1,X2,EPS,HI,HMIN,NOK NBAD, NOK,NBAD,DERIVS,RKQC) WRITE ( , )  END SUBROUTINE DERIVS (X,Y,DYDX) DIMENSION Y(1),DYDX(1) DYDX(1) = -Y(2) DYDX(2) = Y(1)-(1.0/X)  Y(2) DYDX(3) = Y(2)-(2.0/X)  Y(3) DYDX(4) = Y(3)-(3.0/X)  Y(4) RETURN  浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 IF (ERRMAX.GT.ONE) THEN 不满足要求 H = SAFETY  H  (ERRMAX   PSHRINK) 估计下次步长(缩小) GOTO 1 ELSE 满足要求 HDID = H IF (ERRMAX. GT. ERRCON) THEN HNEXT = SAFETY  H  (ERRMAX   PGROW) 估计可放大的步长 ELSE HNEXT =4.  H 最多可放大四倍 ENDIF DO 13 I=1,N 完成五阶截断误差 Y(I)=Y(I) + YTEMP(I)  FCOR CONTINUE RETURN END 四阶Runge--Kutta 步进程序(续) 13 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 计算结果 NOK=30 NBAD=0 KOUNT=15 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 四阶 Runge--Kutta 方法: SUBROUTINE RK4(Y,DYDX,N,X,H,YOUT,DERIVS) PARAMETER (NMAX=10) DIMENSION Y(N),DYDX(N),YOUT(N),YT(NMAX) DYT(NMAX),DYM(NMAX) HH=H  0.5 H6=H/6.0 XH=X+HH DO 11 I=1,N YT(I)=Y(I)+HH  DYDX(I) 第一步 CALL DERIVS(XH,YT,DYT) DO 12 I=1,N 第二步 YT(I)=Y(I)+HH  DYT(I) CALL DERIVS(XH,YT,DYM) DO 13 I=1,N 第三步 YT(I)=Y(I)+H  DYM(I) DYM(I)=DYT(I) + DYM(I) CALL DERIVS(X+H,YT,DYT) DO 14 I=1,N YOUT(I)=DYDX(I)+DYT(I)+2.  DYM(I) YOUT(I)=Y(I) + H6  YOUT(I) CONTINUE RETURN END  11 12 13 14 浙江大学研究生学位课程 《实用数值计算方法》

用四阶 RUNGE--KUTTA公式,等步长计算NSTEP步 6.2.4 用四阶 RUNGE--KUTTA公式,等步长计算NSTEP步 SUBROUTINE RKDUMB(VSTART,NVAR,X1,X2,NSTEP,DERIVS) PARAMETER (NMAX=10) 函数最大个数 COMMON /PATH/ XX(200),Y(10,200) DIMENSION VSTART(NVAR), V(NMAX), DV(NMAX) 置初值 DO 13 K=1,NSTEP CALL DERIVS(X,V,DV) CALL RK4(V,DV,,NVAR,X,H,V,DERIVS) X=X+H XX(K+1)=X 存贮中间步骤 DO 12 I=1,NVAR Y(I,K+1)=V(I) CONTINUE 结束返回 12 13 浙江大学研究生学位课程 《实用数值计算方法》

带自适应步长控制的四阶Runge--Kutta 驱动程序 6.2.4 带自适应步长控制的四阶Runge--Kutta 驱动程序 SUBROUTINE ODEINT(YSTART,NVAR,X1,X2,EPS,H1 HMIN,NOK,NBAD,DERIVS,,RKQC) PARAMETER (MAXSTEP=10000,NMAX=10,TWO=2.0, ZERO=0.0,TINY=1.0E-30) COMMON /PATH/ KMAX,KOUNT,DXSAV,XP(200),YP(10,200) DIMENSION YSTART(NVAR),YSCAL(NMAX),Y(NMAX),DYDX(NMAX) X=X1 H=SIGH(H1,X2-X1) NOK=0 NBAD=0 KOUNT=0 DO 11 I=1,NVAR Y(I)=YSTART(I) XSAV=X-DXSAV  TWO ----保证第一步存贮 DO 16 NSTEP=1, MAXSTEP ----最多取MAXSTEP步数 CALL DERIVS(X,Y,DYDX) DO 12 I=1,NVAR 改变比例因子控制准确性 YSCAL(I)=ABS(Y(I))+ABS(H  DYDX(I)) + TINY IF(KMAX.GT.O.AND.ABS(X-XSAV).GT.ABS(DXSAV) KOUNT. LT. KMAX-1) THEN KOUNT=KOUNT+1 XP(KOUNT)=X DO 13 I=1,NVAR YP(I,KOUNT)=Y(I) XSAV=X ENDIF   置初值 11 12  存贮中间结果 13 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 IF ((X+H-X2)  (X+H-X1) .GT. ZERO) H=X2-X1 越界处理 CALL RKQC(Y,DYDX,NVAR,X,H,EPS,YSCAL,HDID,HNEXT,DERIVS) IF (HDID. EQ. H) THEN NOK=NOK+1 好步长计算 ELSE NBAD=NBAD+1 坏步长计算 ENDIF IF ((X-X2) (X2-X1). GE. ZERO) THEN 进行完毕 DO 14 I=1,NVAR YSTART(I)=Y(I) IF (KMAX. NE. O) THEN 保留最终步结果 KOUNT=KOUNT+1 XP(KOUNT)=X DO 15 I=1,NVAR YP(I,KOUNT)=Y(I) RERURN IF (ABS(HNEXT). LT. HMIN) PAUSE '步长太小' H=HNEXT CONTINUE PAUSE '步数太多,越界' RETURN END 14 15 16 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 浙江大学研究生学位课程 《实用数值计算方法》

(Stiff Sets of Equation) 6.2.5 方程组与刚性问题 (Stiff Sets of Equation) 1. 考虑2阶常微分方程组的初值问题: 解此方程组的Euler方法 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 可能是复数 浙江大学研究生学位课程 《实用数值计算方法》

绝对收敛。 Adams内插法的绝对稳定区域: 图 6.11 Adams内插法的绝对稳定区域 6.2.5 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 图6.12 Adams外推法的绝对稳定区域 图 6.13 R-K法的绝对稳定区域 浙江大学研究生学位课程 《实用数值计算方法》

2. 刚性方程组 (Stiff Equations) 6.2.5 2. 刚性方程组 (Stiff Equations) 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 定义: 刚性方程: 刚性比: 一般坏条件问题 严重坏条件问题 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 图 6.14 A-稳定区域 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 图 6.15 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 浙江大学研究生学位课程 《实用数值计算方法》

6.2.5 浙江大学研究生学位课程 《实用数值计算方法》

6.2.4 浙江大学研究生学位课程 《实用数值计算方法》

Euler法 一阶 Euler 预估--校正法 二阶 中点法二阶 (Runge--Kutta) 四级四阶 RungeKutta    6.2.4 Euler法 一阶   Euler 预估--校正法 二阶    中点法二阶 (Runge--Kutta)      四级四阶 RungeKutta     浙江大学研究生学位课程 《实用数值计算方法》

6.3 边值问题解法 浙江大学研究生学位课程 《实用数值计算方法》

6.3.1 试射法(Shooting)    图 6.16 试射法求解示意 浙江大学研究生学位课程 《实用数值计算方法》

6.3.1 浙江大学研究生学位课程 《实用数值计算方法》

6.3.1 浙江大学研究生学位课程 《实用数值计算方法》

6.3.2 差分方法(Difference Methods) (Relaxation Methods) Initial guess 1st iteration 2nd iteration True solution 图 6.17 差分方法示意 浙江大学研究生学位课程 《实用数值计算方法》

6.3.2 浙江大学研究生学位课程 《实用数值计算方法》

6.3.2 浙江大学研究生学位课程 《实用数值计算方法》

6.3.2 图 6.18 修正值矩阵 浙江大学研究生学位课程 《实用数值计算方法》

利用矩阵的特殊结构使总运算次数达到极小, 并使矩阵系数的存贮达到极小 6.3.2 块对角线性代数方程组的快速求解 利用矩阵的特殊结构使总运算次数达到极小, 并使矩阵系数的存贮达到极小 图 6.19 Gauss 消去法的目标结构 浙江大学研究生学位课程 《实用数值计算方法》

a) b) D--有待于对角化 A--将要改动 S--需要存贮 Z--将要变为0 图 6.20 特殊矩阵结构 1 6.3.2 图 6.20 特殊矩阵结构 1 浙江大学研究生学位课程 《实用数值计算方法》

a) b) 包括四步运算 1. 使用前一步的结果,简化部分元素为零 2. 消去剩下子块正方结构为单位阵 3. 存储以后要使用的非零系数 6.3.2 a) b) 图 6.22 特殊矩阵结构 2 包括四步运算 1. 使用前一步的结果,简化部分元素为零 2. 消去剩下子块正方结构为单位阵 3. 存储以后要使用的非零系数 4. 回代 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 样条函数在两点边值问题中的应用 考察 二阶线性微分方程 的边值问题 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 浙江大学研究生学位课程 《实用数值计算方法》

1914年--1923年捕获的鱼中,食用鱼所占的比例(%) 6.3.3 相平面上的轨迹为 图 6.23 相平面上的轨迹图 1914年--1923年捕获的鱼中,食用鱼所占的比例(%) 浙江大学研究生学位课程 《实用数值计算方法》

6.3.3 浙江大学研究生学位课程 《实用数值计算方法》

总 结 公式简单,但精度不好 编程简单,使用方便 计算量少,但稳定性差 计算量大,但稳定性好 6.3.3 浙江大学研究生学位课程 总 结 公式简单,但精度不好 编程简单,使用方便 计算量少,但稳定性差 计算量大,但稳定性好 浙江大学研究生学位课程 《实用数值计算方法》

第六章 习题 浙江大学研究生学位课程 《实用数值计算方法》

浙江大学研究生学位课程 《实用数值计算方法》