作业帮 > 综合 > 作业

matlab的dsolve求不出精确解,如何用ode函数求得数值解?

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/18 05:19:18
matlab的dsolve求不出精确解,如何用ode函数求得数值解?

spsilon=0.001


matlab的dsolve求不出精确解,如何用ode函数求得数值解?
这是一个边值问题(BVP),可用bvp4c求% 解的初始估计
solinit = bvpinit(linspace(0,1,100),[1 -50]);
 
% BVP问题求解
e = 0.001;
ode = @(x,y) [y(2); ((x^2+1)*y(2)-x^3*y(1))/e];
bc = @(ya,yb)[ya(1)-1; yb(1)-1];
sol = bvp4c(ode,bc,solinit);
 
% 结果绘图
x=sol.x;
vars={'y', 'y'''};
for i=1:length(vars)
    subplot(2,1,i);
    plot(x,sol.y(i,:));
    xlabel('x');
    ylabel(vars{i});
end