function[Xtp1, dXt]=Weibull(Xt,t,pourcentbruit, ...
		      nomparam, nomparamS, paramS)
%Weibull Compute Weibull model
% INPUT/OUTPUT
% See BaranyiRoberts.m
%% ========================================================================


% Affectation des  paramètres à estimer 
lenp=length(nomparam);
for i=1:lenp
    var=Xt(i,:);
    eval([nomparam{i},'=var;'])
    clear var
end
clear lenp 
lens=length(nomparamS);
vect=ones(1,size(Xt,2));
for i=1:lens
    var=nomparamS{i};
    eval([var,'=paramS.(var).*vect;'])
end
clear vect lens 

Xtp1=Xt;
aux=(t./D).^p;
Xtp1(end,:)=N0.*10.^(-aux);

%% Calcul de derivee de Nt par rapport au temps dans dXt
if t>0
  A= N0 .* (1/10) .^ aux;
  B= (p/t).* log(10);
  dXt = -A .* B .* aux;
else
  dXt = zeros(1, size(Xt,2));
end



%% Bruiter Nt
if pourcentbruit>0
    pbruit=pourcentbruit/100;
    Xtp1(end,:)=(1-pbruit).*Xtp1(end,:)+poissrnd(Xtp1(end,:)*pbruit);
    clear pbruit
end
clear D p N0




