- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab求解常微分方程边值问题方法
Matlab求解常微分方程边值问题的方法:bvp4c函数
常微分方程的边值问题,即boundary value problems,简称BVP问题,是指表达形式为
或
的方程组(p是未知参数),在MATLAB中使用积分器bvp4c来求解。
[命令函数]
bvp4c
[调用格式]
sol=bvp4c(odefun,bcfun,solinit,options,p1,p2,…)
sol为一结构体,sol.x、sol.y、sol.yp分别是所选择的网格点及其对应的y(x)与y(x)数值;
bvp4c为带边值条件常微分方程积分器的函数命令;odefun为描述微分方程组的函数文件;bcfun为计算边界条件g(f(a),f(b),p)=0的函数文件;solinit为一结构体,solinit.x与solinit.y分别是初始网格的有序节点与初始估计值,边界值条件分别对应a=solinit.x(l)和b=solinit.x(end); options为bvpset命令设定的可选函数,可采用系统默认值;p1, p2…为未知参数。
例 求常微分方程在与时的数值解。
[解题过程] 仍使用常用方法改变方程的形式:
令,,则原方程等价于标准形式的方程组;
将其写为函数文件twoode.m;
同时写出边界条件函数对应文件twobc.m;
分别使用结构solinit和命令bvp4c确定y-x的关系;
作出y-x的关系曲线图。
[算例代码]
solinit =bvpinit(linspace(0,4,5),[1 0]); % linspace(0,4,5)为初始网格,[1,0]为初始估计值
sol=bvp4c(@twoode,@twobc,solinit);
% twoode与twobc分别为微分方程与边界条件的函数,solinit为结构
x=linspace(0,4); %确定x范围
y=deval(sol,x); %确定y范围
plot(x,y(1,:)); %画出y-x的图形
%定义twoode函数(下述代码另存为工作目录下的twoode.m文件)
function dydx= twoode(x,y) %微分方程函数的定义
dydx =[y(2) -abs(y(1))];
%定义twobc函数(下述代码另存为工作目录下的twobc.m文件)
function res= twobc(ya,yb); %边界条件函数的定义
res=[ya(1);yb(1)+2];
[运行结果]
文档评论(0)