% example9 稳定性
clear all
close all
clc

x_in=10; %要求点的自变量值
y=@(x)exp(-x); %精确值
x=0:0.001:x_in;

h=0.01;
x0=0;
m=(x_in-x0)/h;
yy=zeros(1,m+1); %存储Euler法结果
yyy=zeros(1,m+1);%存储中心差分法结果
xx=x0:h:x_in;
%-----------%Euler method--------------
yy(1)=1;
for n=1:m   %Euler method
    yy(n+1)=yy(n)-h*yy(n);
end

%----------利用中心差分公式推导出的Euler法-----------
yyy(1)=1;
yyy(2)=exp(-h); %尝试改成exp(-h)    
for n=2:m
    yyy(n+1)=yyy(n-1)-2*h*yyy(n);
end
hold on
plot(x,y(x),'r',xx,yy,'k',xx,yyy,'b-o')
legend('精确解','Euler法','中心差分')
hold off
