Changeset f0ffb873 in sasview for sansmodels/src


Ignore:
Timestamp:
Feb 28, 2009 12:07:52 PM (16 years ago)
Author:
Jae Cho <jhjcho@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
acd91458
Parents:
35be99c
Message:

Fixed singularity of the function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/PowerLawModel.py

    r988130c6 rf0ffb873  
    3636        self.params['background']   = 0.0 
    3737        self.description=""" The Power_Law model. 
    38         F(x) = scale* (x)^(-m) + bkd 
     38        F(x) = scale* (|x|)^(-m) + bkd 
    3939        The model has three parameters:  
    4040        m     =  power 
     
    5050    def _PowerLaw(self, x): 
    5151        """ 
    52             Evaluate  F(x) = scale* (x)^(-m) + bkd 
     52            Evaluate  F(x) = scale* (|x|)^(-m) + bkd 
    5353            
    5454        """ 
    55         if x<0 and self.params['m']>0: 
    56             raise ValueError, "negative number cannot be raised to a fractional power" 
    57          
    58         return self.params['scale']*math.pow(x ,-1.0*self.params['m'])\ 
     55        #if x!=0 and self.params['m']!=0: 
     56        #   raise ValueError, "negative number cannot be raised to a fractional power" 
     57        if self.params['m']>0  and x==0: 
     58            return 1e+32 
     59        elif self.params['m']==0  and x==0: 
     60            return 1 
     61        else: 
     62            return self.params['scale']*math.pow(x ,-1.0*self.params['m'])\ 
    5963                + self.params['background'] 
    6064        
Note: See TracChangeset for help on using the changeset viewer.