function lab05_pelda3_matlab2015()
% 3. feladat
% Számítsuk ki az 1. példában meghatározott hatod fokú polinom görbe
% és az x tengely közötti területet a 6. és az 1. gyök közötti intervallumon!
%
% a) egyszerû összeadással
% b) a trapéz szabály alkalmazásával
% c) megadott függvény alapján
% Analitikusan kb. 154.799
analitikusan = 154.799;

%% Betoltes, Illesztes, Gyokok, Kirajzolas
load polinom
meresiPozicio=meresiPozicio;
mertErtekek=mertErtekek;

% Illesztett polinom egyutthatok
polinomEgyutthatokHatodfokra = polyfit(meresiPozicio,mertErtekek,6);
% Gyokok
gyokok=roots(polinomEgyutthatokHatodfokra);

% Fuggveny ertekek a szamitashoz
szazPont=linspace(gyokok(6),gyokok(1),100);
szazPontosErtekekHatodfokra = polyval(polinomEgyutthatokHatodfokra,szazPont);

% Abrazolashoz
tizPont=linspace(gyokok(6),gyokok(1),10);
tizPontosErtekekHatodfokra = polyval(polinomEgyutthatokHatodfokra,tizPont);

%% Osszeadassal
integralOsszeadassal = sum(tizPontosErtekekHatodfokra)*(tizPont(2)-tizPont(1));
% Kirajzolas
figure(4);
hold on;
title('Polinom numerikus integral osszeadassal','FontSize',22,'FontWeight','bold');
xlabel('t ertek');
ylabel('Y ertek');

bar(tizPont,tizPontosErtekekHatodfokra,1,'w','EdgeColor','b','LineStyle','-');
plot(szazPont,szazPontosErtekekHatodfokra,'r-');
xlim([0 8])
ylim([0 45])

legend('Integral osszeadassal',...
	'100 pontos',...
	'Location','NorthWest');

%% Trapezzal
integralTrapezzal = trapz(tizPont,tizPontosErtekekHatodfokra);

% Kirajzolas
figure(5);
hold on;
title('Polinom numerikus integral osszeadassal','FontSize',22,'FontWeight','bold');
xlabel('t ertek');
ylabel('Y ertek');

plot(tizPont,tizPontosErtekekHatodfokra,'b-');
plot(szazPont,szazPontosErtekekHatodfokra,'r-');
stem(tizPont,tizPontosErtekekHatodfokra,'b-');

xlim([0 8])
ylim([0 45])

legend('Integral trapez szaballyal',...
	'100 pontos',...
	'Location','NorthWest');

%% Anonim fuggveny segitsegevel
% Anonim fuggveny letrehozasa
hatodfokuPolinomFuggveny = @(x) polyval(polinomEgyutthatokHatodfokra,x);

% Integralas
integralFuggvennyel = integral(hatodfokuPolinomFuggveny,gyokok(6),gyokok(1));

%% Kiiratas
fprintf(['Numerikus integralas eredmenye:\n\tOsszeadassal: %3.3f\n\t'...
'Trapez szaballyal: %3.3f\n\tFuggvennyel: %3.3f\nAnalitikusan: %3.3f\n'],...
integralOsszeadassal,integralTrapezzal,integralFuggvennyel,analitikusan);

end