matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

10.8.3 求解常微分方程(组)边值问题数值解的MATLAB库函数

10.8.3  求解常微分方程(组)边值问题数值解的MATLAB库函数

 

(一) 一阶常微分方程(组)一般的两点边值问题

 

调用格式: solinit = bvpinit(X,YINIT)或solinit = bvpinit(X,@YINITfun)

         SOL = bvp4c (@ODEFUN,@BCFUN,SOLINIT)            (*)

xint=[x1,x2,…,xn] 或X = linspace(a,b,n);

YINT = deval(sol,xint)

 

例10.8.4  求微分方程在区间 [0, 4]上满足边界条件: 的数值解,并画出数值解的图形.

解  在MATLAB工作窗口输入程序

>>solinit=bvpinit([0 1 2 3 4],[1 0]);

sol=bvp4c(@odefun1,@bcfun1,solinit);

xint=linspace(0,4,35)

yint=deval(sol,xint)

plot(xint, yint (1,:),'bo',xint, yint (2,:) ,'rp')

xlabel('轴\it x'); ylabel('轴\it y')

legend('边值问题的数值解y(x)的曲线','边值问题中y(x)的导数dy(x)/dx的数值解的曲线')

title('用一阶常微分方程组的两点边值问题求二阶常微分方程数值解的图形')

运行后屏幕显示计算数值解的结果和相关信息及其图形.

 

(二) 含未知参数的一阶常微分方程(组)的一般两点边值问题

 

调用格式: solinit = bvpinit(X,YINIT,P)或solinit = bvpinit(X,@YINITfun,P)

            SOL = bvp4c (@ODEFUN,@BCFUN,SOLINIT)            (**)

xint=[x1,x2,…,xn]   或  X = linspace(a,b,n);

YINT = deval(sol,xint)

 

例10.8.5  求微分方程组在区间[0,]上满足边界条件: 的数值解,取,并画出数值解的图形.

解  在MATLAB工作窗口输入程序

>> lamda=2; solinit = bvpinit(0:pi/32:pi,@init2,lamda)

sol = bvp4c(@odefun2,@bcfun2,solinit)

xint=0:pi/32: pi

YINT = deval(sol,xint)

plot(xint,YINT(1,:),'bo',xint,YINT(2,:),'rp')

xlabel('轴\it x'); ylabel('轴\it y')

legend('是方程组解y的曲线','是方程组解z的曲线')

title('用含未知参数的一阶常微分方程组的两点边值问题求二阶常微分方程组数值解的图形')

运行后屏幕显示计算数值解和参数的结果和相关信息及其图形.

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3100803.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1