Changeset 2539 for trunk/testDeriv.py
- Timestamp:
- Nov 21, 2016 11:13:37 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/testDeriv.py
r2532 r2539 20 20 ''' 21 21 22 import os23 import os.path as ospath24 22 import sys 25 23 import time … … 27 25 import wx 28 26 import numpy as np 29 import matplotlib as mpl30 27 import GSASIIpath 31 28 import GSASIIstrMath as G2stMth … … 173 170 M2 = dMdV[varyList.index(name)] 174 171 hplot.plot(M2,'b',label='analytic deriv') 175 if name in varyList: 176 mmin = np.min(dMdV[varyList.index(name)]) 177 mmax = np.max(dMdV[varyList.index(name)]) 178 print 'parameter:',name,self.parmDict[name],delt,mmin,mmax 179 if name in self.varylist: 180 self.values[self.varylist.index(name)] -= delt 181 M0 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 182 varyList,self.calcControls,self.pawleyLookup,None) 183 self.values[self.varylist.index(name)] += 2.*delt 184 M1 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 185 varyList,self.calcControls,self.pawleyLookup,None) 186 self.values[self.varylist.index(name)] -= delt 187 elif name in self.depVarList: #in depVarList 188 if 'dA' in name: 189 name = name.replace('dA','A') 190 delt *= -1 191 self.parmDict[name] -= delt 192 M0 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 193 varyList,self.calcControls,self.pawleyLookup,None) 194 self.parmDict[name] += 2.*delt 195 M1 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 196 varyList,self.calcControls,self.pawleyLookup,None) 197 self.parmDict[name] -= delt 198 Mn = (M1-M0)/(2.*abs(delt)) 199 hplot.plot(Mn,'r',label='numeric deriv') 200 hplot.plot(M2-Mn,'g',label='diff') 172 mmin = np.min(dMdV[varyList.index(name)]) 173 mmax = np.max(dMdV[varyList.index(name)]) 174 print 'parameter:',name,self.parmDict[name],delt,mmin,mmax 175 if name in self.varylist: 176 self.values[self.varylist.index(name)] -= delt 177 M0 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 178 varyList,self.calcControls,self.pawleyLookup,None) 179 self.values[self.varylist.index(name)] += 2.*delt 180 M1 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 181 varyList,self.calcControls,self.pawleyLookup,None) 182 self.values[self.varylist.index(name)] -= delt 183 elif name in self.depVarList: #in depVarList 184 if 'dA' in name: 185 name = name.replace('dA','A') 186 delt *= -1 187 self.parmDict[name] -= delt 188 M0 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 189 varyList,self.calcControls,self.pawleyLookup,None) 190 self.parmDict[name] += 2.*delt 191 M1 = G2stMth.errRefine(self.values,self.HistoPhases,self.parmDict, 192 varyList,self.calcControls,self.pawleyLookup,None) 193 self.parmDict[name] -= delt 194 Mn = (M1-M0)/(2.*abs(delt)) 195 hplot.plot(Mn,'r',label='numeric deriv') 196 hplot.plot(M2-Mn,'g',label='diff') 201 197 # GSASIIpath.IPyBreak() 202 198 hplot.legend(loc='best')
Note: See TracChangeset
for help on using the changeset viewer.