- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试射法
边值问题的数值解法
----试射法和差分法
摘要
本文运用边值问题的两种解法,试射法和差分法,解二阶微分方程。以一个实例进行matlab编程实现,对这两种解法进行进一步的了解和比较。
关键词:常微分方程边值问题,试射法,差分法
问题分析
对于二阶微分方程
边界条件可分为三类:①
②
③
(,)
分别称为第一、二、三类边界条件。不同边界条件对用的微分方程求解问题分别称为第一、二、三边值问题。本文讨论第一边值问题。边值问题解的存在性不仅与方程有关,也与边界条件有关,所以我们始终假定边值问题有解,且解具有所需的光滑性。
1.1试射法
1、基本思想:
将第一边值问题
的求解转化为初值问题的求解。但初始条件无法确定,因此考虑用一组参数逐步逼近,即考虑初值问题使其解满足。这样,对给定的允许误差,当或时,即可作为所求之近似解。
2、实用方法选择:
(1)根据对边值问题性质的分析及问题的实际背景,对提供一个初始估计值,例如可取
然后解初值问题,得解,记。
(2)取使满足即取,再解初值问题,得,记。若,则为所求解,否则进行下一步。
(3)利用线性插值法由、求得,再取进行试射,得新解,记。若,则为所求解;否则令,,,重复此步计算过程,直至达到目的为止。
1.2差分法
1、基本思想:
接编制问题的差分方法是一种常用方法,用差商代导数,将微分方程离散化为差分方程,然后用适当的方法求解。
2、具体步骤:
将求解区间分成等分,步长,分点称为节点,在内节点上将导数,用差商表示
在点列出方程
代入上式整理得到近似方程
其中,,。
此外,由边界条件得
将两式联立在一起恰好构成个方程、个未知量的线性方程组,称为边值问题的差分方程,其解称为边值问题的差分解,称为阶段误差。整理两式可得三对角方程组
其中
此方程组可用追赶法求解。
算法实现及结果
例题 用有限差分法解例题2.1中的边值问题:
2.1试射法
利用RK方法计算二阶线性微分方程的边值问题,由微分方程知识可以知道,对于二阶微分方程可以化为一阶微分方程组,func1为第一个微分方程组第二个函数,func2为第二个微分方程组第二个函数,初始时刻为a,结束时为b,初始端点函数值为ya,末端点函数值yb,N为分成的区间数目。
用matlab实现算法的程序:
function [x,y]=lsh(func1,func2,a,b,ya,yb,N)
h=(b-a)/N;
u(1,1)=ya;
u(1,2)=0;
v(1,1)=0;
v(1,2)=1;
for i=1:N
x(i,:)=a+(i-1)*h;
K1=h*u(i,2);
L1=h*feval(func1,x(i,:),u(i,1),u(i,2));
K2=h*(u(i,2)+1/2*L1);
L2=h*feval(func1,x(i,:)+1/2*h,u(i,1)+1/2*K1,u(i,2)+1/2*L1);
K3=h*(u(i,2)+1/2*L2);
L3=h*feval(func1,x(i,:)+1/2*h,u(i,1)+1/2*K2,u(i,2)+1/2*L2);
K4=h*(u(i,2)+L3);
L4=h*feval(func1,x(i,:)+h,u(i,1)+K3,u(i,2)+L3);
u(i+1,1)=u(i,1)+1/6*(K1+2*K2+2*K3+K4);
u(i+1,2)=u(i,2)+1/6*(L1+2*L2+2*L3+L4);
k1=h*v(i,2);
l1=h*feval(func2,x(i,:),v(i,1),v(i,2));
k2=h*(v(i,2)+1/2*l1);
l2=h*feval(func2,x(i,:)+1/2*h,v(i,1)+1/2*k1,v(i,2)+1/2*l1);
k3=h*(v(i,2)+1/2*l2);
l3=h*feval(func2,x(i,:)+1/2*h,v(i,1)+1/2*k2,v(i,2)+1/2*l2);
k4=h*(v(i,2)+l3);
l4=h*feval(func2,x(i,:)+h,v(i,1)+k3,v(i,2)+l3);
v(i+1,1)=v(i,1)+1/6*(k1+2*k2+2*k3+k4);
v(i+1,2)=v
您可能关注的文档
- 电工技能教学的六点建议.doc
- 郑新锦玉(新密)低压计算整定书.doc
- 人教版初二数学第十八章勾股定理1.ppt
- 大工c语言第三章.ppt
- 地产开发前期策划服务内容.doc
- 班德育量化表.doc
- 河北衡水EDGE优化测试分析报告-0921全市区.doc
- 机械传动培训教材.doc
- 电气工程样板资料.doc
- 教科版六年级科学减少丢弃及重新使用.ppt
- (2025版)论利率市场化对中国经济的影响.docx
- 高新区企业创新主体作用的激发与支持路径.docx
- 湖北省宜荆荆随恩2024届高三5月联考(二模)数学试题(解析版).docx
- (2025版)论新时期国际经济体系中金融的重要性.docx
- (2025版)论改革开放后高储蓄、高投资对中国经济增长的影响以及应对之策.docx
- (2025版)论空间规划整合与协调———以山西省为例.docx
- (2025版)论社会转型期农民的“软实力”及其提升.docx
- Unit 3 Reading and Thinking 名师课件(2)精品课件.pptx
- (2025版)论缩小贫富差距与和谐社会的构建.docx
- 山东省泰安一中青年路校区2024-2025学年高一下学期3月月考生物试题(解析版).docx
文档评论(0)