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