
오일러(Euler)법은 미분방정식을 푸는 방법 중 하나이다.
-> 초기값과 i번째 1차 도함수의 기울기를 이용하여 i+1번째 함수값을 예측하기 위한 방법이라고 볼 수 있다.

//오일러 함수 설정하기
function [t,y] = MyEuler(f, tinterval, y0, n)
y = zeros(n+1,1);
y(1) = y0
dt = (tinterval(2) - tinterval(1))/n;
t = tinterval(1):dt:tinterval(2);
for i = 1:n
y(i+1) = y(i) + f(t(i),y(i))*dt
end
t = t';
endfunction
function yp = DE(t,y)
yp = (t.^3 - t.^2-7*t-5)*exp(t)
endfunction
function y = exact(t)
//y = (t^3-4*t^2+t-6)*exp(t) + 6
y = (-6+t-4*t.^2+t.^3)*exp(t)+6
endfunction
[t,y] = MyEuler(DE, [0,4], 0, 10);
[t1,y1] = MyEuler(DE, [0,4], 0, 20);
[t2,y2] = MyEuler(DE, [0,4], 0, 40);
scf(0);
plot(0:0.1: 4, exact);
plot(t, y,'bo', t1, y1, 'cx', t2, y2, 'r*');
legend('Exact Solution','Euler with n = 10','Euler with n = 20','Euler with n = 40')
xtitle('Comparision of Euler approximate solutions with the exact solution', 't', 'y');
