matlab求微分方程

来源:百度知道 编辑:UC知道 时间:2024/06/23 07:31:52
分别用欧拉法,四阶龙格-库塔法以及ode45求题1
2.0<=x<=2.6,h=0.2
dy/dx=x/y y(2.0)=1的微分方程并画出y与x的关系(跪求各位高手)
要画图的 谢谢 弄完有高分相送!

1.Euler法
a=2;b=2.6;h=0.2;
x=a:h:b;
n=(b-a)/h;
y(1)=1
for k=1:n
y(k+1)=y(k)+h*x(k)/y(k);
end
plot(x,y)
2. 四阶龙格-库塔法
%
http://www.chinavib.com/forum/viewthread.php?tid=17615
%存为ode4.m
%
tspan = 2:0.2:2.6;
y = ode4(@myfun,tspan,1);
plot(tspan,y(:,1));
%%
function dy=myfun(x,y)
dy=x./y
%%
3. ODE45求解
ode45(@myfun,[2:0.2:2.6],1)
%%
function dy=myfun(x,y)
dy=x./y
%%