clear all
close 
clc

M=readmatrix("Data_nabíjecí 400mA.csv");   %načtení vstupních dat

%Generování časového vektoru
samples = length(M);
time = 0:(17/60):(17*(samples-1))/60;

%Tolerance 
error_percent_v = 0.0028;
error_percent_i_in = 0.016;
error_percent_i_out = 0.006;

error_v = M(:,4) * error_percent_v / 100;
error_i_in = M(:,2) * error_percent_i_in / 100;
error_i_out = M(:,3) * error_percent_i_out / 100;

%Úprava tisknutí odchylek každých 15 vzorků
indices = 1:15:length(time);

M2=M(:,2);  %Proud vstupní
M3=M(:,3);  %Proud výstupní
M4=M(:,4);  %Napětí

%Vykreslení průběhů
figure(1)

subplot(2,1,1)
errorbar(time(indices),M4(indices), error_v(indices), '-');

grid on
%title("Napěťová nabíjecí charakteristika IO TP4056");
legend("Výstupní napětí",'Location','southwest')
xlabel ("Čas [minuty]")
ylabel ("Napětí [V]")

subplot(2,1,2)
errorbar(time(indices),M2(indices), error_i_in(indices), '-');
hold on 
errorbar(time(indices),M3(indices), error_i_out(indices), '-');

grid on
%title("Proudová vybíjecí charakteristika IO TP4056");
legend("Proud do baterie","Proud do IO",'Location',"southwest")
%ylim([-2.6,0.05])
xlabel ("Čas [minuty]")
ylabel ("Proud [A]")


figure(2)
plot(time, ((M4.*M3)./(5.*M2))*100)
grid on
ylim([60, 90])
xlabel ("Čas [minuty]")
ylabel ("Účinnost [%]")

%Export charakteristik
exportme = figure(1);
exportgraphics(exportme,'nabíjecí 400.png','Resolution',600)

exportme2 = figure(2);
exportgraphics(exportme2,'účinnost.png','Resolution',600)