%---------------------------------------------%
% %
% 工作室提供代做matlab仿真 %
% %
% 详情请访问:http://cn.mikecrm.com/5k6v1DP %
% %
%---------------------------------------------%
%欧拉方法解偏微分方程y'=f(x);
%________________________________________________
%用法举列:题目:y'=y-2*x/y; x属于【0,1】
% y(0)=1;
% 步长0.1;
%________________________________________________
%解决过程:
%调用方法:g函数的定义:
% function w=g(x,y)
% w=y-2*x/y;
% euler('g',0,1,1,10)
%结果:euler('g',0,1,1,10)
%ans = xn yn
% 0 1.0000
% 0.1000 1.1000
% 0.2000 1.1918
% 0.3000 1.2774
% 0.4000 1.3582
% 0.5000 1.4351
% 0.6000 1.5090
% 0.7000 1.5803
% 0.8000 1.6498
% 0.9000 1.7178
% 1.0000 1.7848
function E=euler(f,a,b,ya,M)
h=(b-a)/M;
T=zeros(1,M+1);
Y=zeros(1,M+1);
T=a:h:b;
Y(1)=ya;
for j=1:M
Y(j+1)=Y(j)+h*feval(f,T(j),Y(j));
end
E=[T' Y'];