root/applications/bdmtoolbox/mex/mex_classes/mexLaplace.m
@
944
Revision 944, 0.7 kB (checked in by smidl, 14 years ago) |
---|
Rev | Line | |
---|---|---|
[937] | 1 | classdef 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 | |
31 | end |
Note: See TracBrowser
for help on using the browser.