[new] implementing comparison methods into pdf class
This commit is contained in:
		
							parent
							
								
									18785edf68
								
							
						
					
					
						commit
						4606f84809
					
				@ -133,15 +133,13 @@ class ProbabilityDensityFunction(object):
 | 
				
			|||||||
            'both operands must be of type ProbabilityDensityFunction'
 | 
					            'both operands must be of type ProbabilityDensityFunction'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        raise NotImplementedError('implementation of resulting axis unclear - feature pending!')
 | 
					        raise NotImplementedError('implementation of resulting axis unclear - feature pending!')
 | 
				
			||||||
        # x0, incr, npts, pdf_self, pdf_other = self.rearrange(other)
 | 
					        x0, incr, npts, pdf_self, pdf_other = self.rearrange(other)
 | 
				
			||||||
        #
 | 
					        pdf = np.convolve(pdf_self, pdf_other, 'same') * incr
 | 
				
			||||||
        # pdf = np.convolve(pdf_self, pdf_other, 'same') * incr
 | 
					
 | 
				
			||||||
        #
 | 
					        # shift axis values for correct plotting
 | 
				
			||||||
        # # shift axis values for correct plotting
 | 
					        npts *= 2
 | 
				
			||||||
        # midpoint = npts / 2
 | 
					        x0 *= 2
 | 
				
			||||||
        # x0 = incr * midpoint
 | 
					        return ProbabilityDensityFunction(x0, incr, npts, pdf)
 | 
				
			||||||
        #
 | 
					 | 
				
			||||||
        # return ProbabilityDensityFunction(x0, incr, npts, pdf)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __sub__(self, other):
 | 
					    def __sub__(self, other):
 | 
				
			||||||
        assert isinstance(other, ProbabilityDensityFunction), \
 | 
					        assert isinstance(other, ProbabilityDensityFunction), \
 | 
				
			||||||
@ -222,6 +220,25 @@ class ProbabilityDensityFunction(object):
 | 
				
			|||||||
        # return the object
 | 
					        # return the object
 | 
				
			||||||
        return ProbabilityDensityFunction(x0, incr, npts, pdf)
 | 
					        return ProbabilityDensityFunction(x0, incr, npts, pdf)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def expectation(self):
 | 
				
			||||||
 | 
					        '''
 | 
				
			||||||
 | 
					        returns the expectation value of the actual pdf object
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ..formula::
 | 
				
			||||||
 | 
					                mu_{\Delta t} = \int\limits_{-\infty}^\infty x \cdot f(x)dx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        :return float: rval
 | 
				
			||||||
 | 
					        '''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        rval = 0
 | 
				
			||||||
 | 
					        for n, x in enumerate(self.axis):
 | 
				
			||||||
 | 
					            rval += x * self.data[n]
 | 
				
			||||||
 | 
					        return rval * self.incr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def standard_deviation(self):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def commonlimits(self, incr, other, max_npts=1e5):
 | 
					    def commonlimits(self, incr, other, max_npts=1e5):
 | 
				
			||||||
        '''
 | 
					        '''
 | 
				
			||||||
        Takes an increment incr and two left and two right limits and returns
 | 
					        Takes an increment incr and two left and two right limits and returns
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user