首页 > 代码库 > Matlab基础学习-----------Matlab求解常微分方程边值问题的方法

Matlab基础学习-----------Matlab求解常微分方程边值问题的方法

算法代码

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];

结果


Matlab基础学习-----------Matlab求解常微分方程边值问题的方法