用MATLAB解常微分方程组

问题描述:

用MATLAB解常微分方程组
微分方程是d2y/dx2+0.01-2y/5/(1+(1-x)^2)=0
边界条件是y(0)=1;y'(1)=0
感激不尽啊!试了很久,用ode和dsolve都解决不了,
请具体指导一下怎么编这个程序吧,不调用子函数也可以的,
1个回答 分类:数学 2014-10-10

问题解答:

我来补答
这题的符号解很复杂,maple可以求出来
我可以用matlab帮你求数值解,但是你要告诉我求解区间就是y(t),t的变化范围
再问: t变化范围是【0,1】,y(t)的变化范围是【1,0】,猜测实际结果中y(t)的最小值可能在0.8左右,“y(t)的变化范围是【1,0】”是根据题目已知可以确定的范围,谢谢了
再答: 解出来和你想的不大一样 close all clear,clc dydx=@(t,y)[y(2);-0.01+2*y(1)/5/(1+(1-t)^2)]; tspan=[0,1]; y0=[1,0]; [tt,yy]=ode45(dydx,tspan,y0); plot(tt,yy) legend({'$y(t)$','$\frac{dy}{dt}(t)$'},'interpreter','latex','Fontsize',15,'location','best') xlabel({'$x$'},'interpreter','latex','Fontsize',20) ylabel({'$y$'},'interpreter','latex','Fontsize',20)
 
 
展开全文阅读
剩余:2000