| 
            Revision 1054, 1.7 kB
            (checked in by smidl, 15 years ago)
           | 
        
        
          | 
               
doc  
 
           | 
        
      
      
    | Line |   | 
|---|
| 1 | %> @file mexDirec.m | 
|---|
| 2 | %> @brief Matlab implementation of Dirac density  | 
|---|
| 3 | % ====================================================================== | 
|---|
| 4 | %> @brief Unconditional Dirac density | 
|---|
| 5 | % | 
|---|
| 6 | %> \f[ f(x| x_i) = \delta(x-x_i)\f] | 
|---|
| 7 | % ====================================================================== | 
|---|
| 8 | classdef mexDirac < mexEpdf | 
|---|
| 9 |     % Dirac delta probability distribution | 
|---|
| 10 |     properties                                                 % DATA structures | 
|---|
| 11 |         point                                                  % point of the support | 
|---|
| 12 |     end | 
|---|
| 13 |     methods | 
|---|
| 14 |         function m=mean(obj)                                   % compute mean values of the density | 
|---|
| 15 |             m = obj.point; | 
|---|
| 16 |         end | 
|---|
| 17 |         function obj=validate(obj)                             % check if data structures are consistent | 
|---|
| 18 |             % point should be a column | 
|---|
| 19 |             if (size(obj.point,2)>1) | 
|---|
| 20 |                 if (size(obj.point,1)==1) % it is row | 
|---|
| 21 |                     obj.point = obj.point'; | 
|---|
| 22 |                 end | 
|---|
| 23 |             else | 
|---|
| 24 |                 error('Point in mexDirac is not a vector'); | 
|---|
| 25 |             end | 
|---|
| 26 |         end | 
|---|
| 27 |         function dim=dimension(obj)                            % inform others about your dimensions | 
|---|
| 28 |             dim = size(obj.point,1); | 
|---|
| 29 |         end | 
|---|
| 30 |         function v=variance(obj)                               % compute variance | 
|---|
| 31 |             v=zeros(size(obj.point)); | 
|---|
| 32 |         end | 
|---|
| 33 |         function l=evallog(obj,x)                              % return logarithm of your density at point x | 
|---|
| 34 |             if obj.point==x | 
|---|
| 35 |                 l = inf; | 
|---|
| 36 |             else | 
|---|
| 37 |                 l=0; | 
|---|
| 38 |             end | 
|---|
| 39 |         end | 
|---|
| 40 |         function s=sample(obj);                                % return random sample from your density | 
|---|
| 41 |             s = obj.point; | 
|---|
| 42 |         end | 
|---|
| 43 |     end | 
|---|
| 44 | end | 
|---|