function y = teht2()
% päätepisteellä ei ole merkitystä: matlab lopettaa suorituksen joka
% tapauksessa virheeseen lähellä ykköstä.
ode45(@f, [0,1], 1)

% Raju kasvu kulmassa (1,0)!

% lisätään tarkkuutta, mutta ei siitä mitään apua ole.
tarkka = odeset('reltol', 1e-5, 'abstol', 1e-9);
ode45(@f, [0,1], 1, tarkka);

% muilla menetelmillä saadaan vastaavaa.
ode113(@f, [0,1], 1, tarkka);
ode15s(@f,[0,1],1,tarkka);

% ei mennä aivan ykköseen saakka
[xs1, ys1] = ode45(@f, [0,0.99], 1);
[xs2, ys2] = ode113(@f, [0,0.99], 1);
xs3 = linspace(0,0.99);
ys3 = 1./(1-xs3);

% sopivasti rajailemalla nähdään, että heittoa kyllä löytyy kun oikein
% tarkastellaan.
plot(xs1,ys1, xs2,ys2, xs3,ys3);
axis([0.8,1,0,120]);

y = 0;

% Tarkasteltava dy
function y = f(t,x)
y = x.^2;