计算物理2013.ppt

  1. 1、本文档共215页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算物理2013

(3)猜测解创建:令初始网格为linspace(0,4,5),初始猜测解向量为[1;0],于是猜测解由指令sinit求得: sinit=bvpinit(linspace(0,4,5),[1;0]); %5个均匀分布网格节点上赋初始解 (4)求指定网格上的解: c=1; sol=bvp4c(@twoode,@twobc,sinit,[ ],c);%属性选项为[],取缺省设置 (5)求积分区间内任意点上的解: x=linspace(0,4,100); y = deval(sol,x); % bvpval(sol,x); plot(x,y(1,:),b-,sol.x,sol.y(1,:),ro,sinit.x,sinit.y(1,:),ks) legend(\fontname{隶书}\fontsize{20}插值后的解曲线,解点,猜测解点,0) 说明: twoode.m中的导数变量和twobc.m中的残差向量一定要写成列向量形式。 原方程组等价于以下标准形式的方程组: solinit=bvpinit(linspace(0,1,10),[1 0]); sol=bvp4c(@ODEfun,@BCfun,solinit); x=[0:0.05:0.5]; y=deval(sol,x); xP=[0:0.1:0.5]; yP=[0 -0-0.729740656... -0-1-1; plot(xP,yP,o,x,y(1,:),r-) legend(‘Analytical Solution’,‘Numerical Sol.) % 定义ODEfun函数 function dydx=ODEfun(x,y) dydx=[y(2);y(1)+10]; % 定义BCfun函数 function bc=BCfun(ya,yb) bc=[ya(1);yb(1)]; 求解两点边值问题: 令: 边界条件为: 边值问题的求解举例 原方程组等价于以下标准形式的方程组: solinit=bvpinit(linspace(0,1,10),[0 1]); sol=bvp4c(@ODEfun,@BCfun,solinit); x=[0:0.1:1]; y=deval(sol,x); plot(x,y(1,:),r-) legend(Analytical Solution,Numerical Solution,... location,Northwest) legend boxoff % 定义ODEfun函数 function dydx=ODEfun(x,y) dydx=[y(2);(1+x^2)*y(1)+1]; % 定义BCfun函数 function bc=BCfun(ya,yb) bc=[ya(1)-1;yb(1)-3]; 求解: 令: 边界条件为: 边值问题的求解举例 c=1; solinit=bvpinit(linspace(0,4,10),[1 1]); sol=bvp4c(@ODEfun,@BCfun,solinit,[],c); x=[0:0.1:4]; y=deval(sol,x); plot(x,y(1,:),b-,sol.x,sol.y(1,:),ro) legend(解曲线,初始网格点解) % 定义ODEfun函数 function dydx=ODEfun(x,y,c) dydx=[y(2);-c*abs(y(1))]; % 定义BCfun函数 function bc=BCfun(ya,yb,c) bc=[ya(1);yb(1)+2]; 求解: 令: 边值问题的求解举例 solinit=bvpinit(linspace(0,pi,10),[1;1],lmb); opts=bvpset(Stats,on); sol=bvp4c(@ODEfun,@BCfun,solinit,opts); lambda=sol.parameters x=[0:pi/60:pi]; y=deval(sol,x); plot(x,y(1,:),b-,sol.x,sol.y(1,:),ro) legend(解曲线,初始网格点解) % 定义ODEfun函数 function dydx=ODEfun(x,y,lmb) q=15; dydx=[y(2);-(lmb-2*q*cos(2*x))*y(1)]; % 定义BCfun函数 function bc=BCfun(ya,yb,lmb) bc=[ya(1)-1;ya(2);yb(2)]; 求解: 边界条件: 本例中,微分方程与参数λ的数值有关。一般而言,对于任意的λ值,该问题无解,

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档