作业帮 > 数学 > 作业

用MATLAB语言求微积分方程的数值解.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/14 14:35:21
用MATLAB语言求微积分方程的数值解.
(xd^2y)/dx^2-5dy/dx+y=0
y(0)=0
y'(0)=0
function dy=myfun03(x,y)dy=zeros(3,1) %初始化变量dydy(1)=y(2); %dy(1)表示y的一阶导数,其等于y的第二列值dy(2)=5/x*y(3)-y(1); %dy(2)表示y的二阶导数%ex0808 用ode23 ode45 ode113解多阶微分方程clear,clc[x23,y23]=ode23('myfun03',[1,10],[1 10 30]);[x45,y45]=ode45('myfun03',[1,10],[1 10 30]);[x113,y113]=ode113('myfun03',[1,10],[1 10 30]);figure(1) %第一幅图plot(x23,y23(:,1),'*r',x45,y45(:,1),'ob',x113,y113(:,1),'+g') %作出各种函数所得结果legend('ode23解','ode45解','ode113解')title('ODE函数求解结果')figure(2)plot(x45,y45)  %以ode45为例作出函数以及其各阶导数图legend('y','y一阶导数','y两阶导数')title('y,y一阶导数,y二阶导数函数图')