root/applications/bdmtoolbox/mex/mex_classes/mexLaplace.m @ 944

Revision 944, 0.7 kB (checked in by smidl, 14 years ago)

Doc + new examples

RevLine 
[937]1classdef mexLaplace < mexEpdf
2    properties
3      % from wikipedia
4        mu
5        b
6    end
7    methods
[944]8        function m=mean(obj)
9            m = obj.mu;
[937]10        end
[944]11        function obj=validate(obj)
12            if length(obj.mu)~=length(obj.b)
[937]13                error('incompatible mu and b');
14            end
15        end
[944]16        function dim=dimension(obj)
17            dim = size(obj.mu,1);
[937]18        end
[944]19        function v=variance(obj)
20            v=2*obj.b^2;
[937]21        end
[944]22        function l=evallog(obj,x)
23            l=-log(2*obj.b)-abs(x-obj.mu)/obj.b;
[937]24        end
[944]25        function s=sample(obj)
[937]26            v=-log(rand);%sample_exponential(0,1);
27            z = randn;
[944]28            s = obj.mu+obj.b*sqrt(2*v)*z;
[937]29        end
30    end
31end
Note: See TracBrowser for help on using the browser.