function  f = dweib(x,k,a)
%DWEIB    The Weibull density function
%
%         f = dweib(x,k,a)
%
%	  If the scale parameter a is left out it is assumed
%	  to be 1. 

%       Copyright (c) Halfdan Grage, Anders Holtsberg

if nargin < 3
   a = 1;
end
if any(any(a<=0))
   error('Parameter a is wrong')
end
if any(any(k<=0))
   error('Parameter k is wrong')
end

neg = find(x <= 0);
[n1,n2] = size(neg);
x(neg) = ones(n1,n2);
f = k./(a.^k).*x.^(k-1).*exp(-(x./a).^k);
f(neg) = zeros(n1,n2);

