%% TMA671 Lösning av uppgift N.6.20
clear;
% Under storgruppsövningen som hölls onsdagen den 16e Maj 2018
% så demonstrerades uppgift 20 i Kapitel 6 i Numerisk Analys
% boken. Uppgiften handlar om att lösa ett system av ODE:er 
% med den inbyggda funktionen ode45. Problemet modellerar Sveriges
% befolkningstillväxt! :)
% Programmet är skrivet av Johannes Borgqvist

%% Okajj, vi kör la på
% Definiera datan
years = [130; 140; 150; 200; 201]; % Årtal
bef = [6.142; 6.372; 7.041; 8.87; 9.42]; % Befolkning
% Lös differentialekvationerna
[t, y] = ode45(@befolkning,[0, 201],0.767);

%% Okajj vi plottar

fig = figure('units','normalized','outerposition',[0 0 1 1],...
    'PaperPositionMode','auto');
%figure(1)
clf
% Vi plottar modellen
plot(t,y+1.535,'red');
hold on
% Vi plottar datan
plot(years,bef,'*blue','Linewidth',5)
hold off
% Definiera en axel
axis([0,205,0,9.5])
% Legend
leg = legend('Modell','Data');
set(leg,'Fontsize',40,'interpreter','latex','Location','NorthWest')
% xtick
ax = gca;
set(ax,'Ticklabelinterpreter','latex','FontSize',23,'Xtick',...
    [130,140,150,200,201],'XTickLabel',['1930';'1940';'1950';'2000';'$\;$'])
grid on
xlabel('\AA rtal','interpreter','latex','FontSize',40)
ylabel('Miljoner inv\aa nare','interpreter','latex','FontSize',40)
titleStr = {'\textbf{TMA671 Uppgift N.6.20}','Datum: 2018-05-16, Skriven av: Johannes Borgqvist',...
    ['\textit{Modellering av befolkningstillv\"{a}xten i Sverige \"{o}ver tid}'],...
    };
title(titleStr,'interpreter','latex','Fontsize',50)
print(fig, '-depsc', '-r0', 'UppgiftN620Datum20180516.eps')
