请MATLAB高手指教,求,急急急!!!

先将微分方程写成自定义函数exam1fun.m
function f=exam1fun (x,y)
f=y-2*x/y;
f=f(:);
然后在命令窗口输入以下语句:
>> xspan=[0 1];
>> y0=1;
>> h=0.1;
>> [x1,y1]=euler1('exam1fun',xspan,y0,h)
为何出现错误???

euler1是欧拉公式的意思,我想你是没有定义欧拉公式,你定义下就可以了
欧拉公式代码function[xout,yout]=euler1(ypfun,xspan,y0,h)
x=xspan(1):h:xspan(2);y(:,1)=y0(:);
for i=1:length(x)-1,
y(:,i+1)=y(:,i)+h*feval(ypfun,x(i),y(:,i));
end
你试试吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-02
改成这样就可以了:

[x1,y1]=ode45(@exam1fun,xspan,y0,h)

不认识euler1