function [cas] = davka_(C0,Cl,v_d,C_dolni)
% [cas] = davka_(C0,Cl,v_d,C_dolni)
%
% Funkce zjisti po jake dobe (v hodinach) je treba podat lek znovu 
% pacientovi, tak aby jeho koncentrace neklesla pod dolni mez ucinne koncentrace.
% Pokles koncentrace leku v krvi popisujeme rovnici C'(t) = -k*C(t)
% s pocatecni podminkou C(0) = C0 na <0,tN>
%
% C0  ... koncentrace leku v case 0
% Cl  ... clearance
% v_d ... distribucni objem
% C_d ... dolni mez ucinne koncentrace
%
% cas ... doba (v hodinach), po ktere je treba podat dalsi davku leku

tN = 100; % mozno menit, ale pravdepodobne neexistuje lek, ktery by se podaval mene casto nez jednou za 100 hodin 
n = 10000; % pocet deleni <0,tN>

k = Cl*60/1000/v_d;

h = tN / n;
t = 0 : h : tN;

i = 1;
C(1) = C0;
while C(i) >= C_dolni
    C(i+1) = C(i) - h*k*C(i);
    i = i+1; 
end

cas = t(i-1);

disp(['Dalsi davku leku je treba podat po ', num2str(cas,'%1.2g'), ' hodinach.'])

% konec
