欢迎来到天天文库
浏览记录
ID:7827902
大小:49.50 KB
页数:2页
时间:2018-02-27
《matlab求解常微分方程边值问题方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Matlab求解常微分方程边值问题的方法:bvp4c函数常微分方程的边值问题,即boundaryvalueproblems,简称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(
2、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的关系曲线图。[算
3、例代码]solinit=bvpinit(linspace(0,4,5),[10]);%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文件)functiondydx=twoode(x,y)%微分方程函数的定义dydx=[y(
4、2)-abs(y(1))];%定义twobc函数(下述代码另存为工作目录下的twobc.m文件)functionres=twobc(ya,yb);%边界条件函数的定义res=[ya(1);yb(1)+2];[运行结果]
此文档下载收益归作者所有