mailr19367 - in /branches/relax_disp/lib/curve_fit: __init__.py exponential.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on April 04, 2013 - 17:15:
Author: bugman
Date: Thu Apr  4 17:15:33 2013
New Revision: 19367

URL: http://svn.gna.org/viewcvs/relax?rev=19367&view=rev
Log:
Created the new lib.curve_fit.exponential module for exponential 
curve-fitting.

This contains the single exponential_2param_neg() function which will be used 
for the relaxation
dispersion target functions.  This is based on Sebastien Morin's function 
exp_2param_neg in
maths_fns.exponential.c in his dormant inversion-recovery branch.


Added:
    branches/relax_disp/lib/curve_fit/exponential.py
Modified:
    branches/relax_disp/lib/curve_fit/__init__.py

Modified: branches/relax_disp/lib/curve_fit/__init__.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/lib/curve_fit/__init__.py?rev=19367&r1=19366&r2=19367&view=diff
==============================================================================
--- branches/relax_disp/lib/curve_fit/__init__.py (original)
+++ branches/relax_disp/lib/curve_fit/__init__.py Thu Apr  4 17:15:33 2013
@@ -23,5 +23,5 @@
 """The relax-lib NMR package - a library of functions for various types of 
curve-fitting."""
 
 __all__ = [
-    ''
+    'exponential'
 ]

Added: branches/relax_disp/lib/curve_fit/exponential.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/lib/curve_fit/exponential.py?rev=19367&view=auto
==============================================================================
--- branches/relax_disp/lib/curve_fit/exponential.py (added)
+++ branches/relax_disp/lib/curve_fit/exponential.py Thu Apr  4 17:15:33 2013
@@ -1,0 +1,47 @@
+###############################################################################
+#                                                                            
 #
+# Copyright (C) 2013 Edward d'Auvergne                                       
 #
+#                                                                            
 #
+# This file is part of the program relax (http://www.nmr-relax.com).         
 #
+#                                                                            
 #
+# This program is free software: you can redistribute it and/or modify       
 #
+# it under the terms of the GNU General Public License as published by       
 #
+# the Free Software Foundation, either version 3 of the License, or          
 #
+# (at your option) any later version.                                        
 #
+#                                                                            
 #
+# This program is distributed in the hope that it will be useful,            
 #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of             
 #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              
 #
+# GNU General Public License for more details.                               
 #
+#                                                                            
 #
+# You should have received a copy of the GNU General Public License          
 #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.      
 #
+#                                                                            
 #
+###############################################################################
+
+# Module docstring.
+"""Module for exponential curve-fitting."""
+
+# Python module imports.
+from math import exp
+
+
+def exponential_2param_neg(rate=None, i0=None, x=None, y=None):
+    """Calculate the data for a standard two parameter decreasing 
exponential.
+
+    The y-values will be calculated based on the x-values.
+
+
+    @keyword rate:  The exponential rate.
+    @type rate:     float
+    @keyword i0:    The initial intensity.
+    @type i0:       float
+    @keyword x:     The x-values at which to calculate the y-values.
+    @type x:        numpy rank-1 float array
+    @keyword y:     The data structure to store the y-values in.
+    @type y:        numpy rank-1 float array
+    """
+
+    # Loop over the x-values.
+    for i in range(len(x)):
+        y[i] = i0 * exp(-rate*y)




Related Messages


Powered by MHonArc, Updated Thu Apr 04 17:20:02 2013