% Eksponencijalni model:
% dx/dt = k*x, x(0) = x0 
% Egzaktno rješenje glasi: x(t) = x0*exp(k*t).
k = 2;
x0 = 3;
funkcija = @(t, x) k*x;

% Koristimo naredbu ode45 kako bismo generirali priblizne vrijednosti za x za dane vrijednosti za t prema principu:
% [t,x] = ode45(funkcija s desne strane diferencijalne jednadzbe, [t_pocetni, t_zavrsni], pocetna_vrijednost_za_x)
t_pocetni = 0;
t_zavrsni = 0.5;
[t,x] = ode45(funkcija, [t_pocetni, t_zavrsni], x0);

% Crtamo tako dobiveno numericko/priblizno rjesenje crvenom bojom, koristeci zvjezdice * - oznaka 'r*':
plot(t, x, 'r*')

% U istom cemo koordinatnon sustavu nacrtati i graf egzaktnog rjesenja, stoga koristimo 'hold on'.
hold on

% Najprije definiramo vektor vrijednosti varijable t, a potom racunamo x prema izrazu za egzaktno rjesenje: x(t) = x0*exp(k*t).
t_vrijednosti = [t_pocetni:0.01:t_zavrsni];
egzaktno_rjesenje = x0*exp(k*t_vrijednosti);

% Egzaktno rjesenje crtamo plavom bojom - oznaka 'b'.
plot(t_vrijednosti, egzaktno_rjesenje, 'b');

% Grafu dodajemo legendu:
legend('Približno rješenje', 'Egzaktno rješenje')