def chiFun(k1,k2): rr.reset() rr.setValue("k1", k1) rr.setValue("k2", k2) data = rr.simulate(timeStart, timeEnd, nrPoints - 1) chiSquare.ModelData = tel.getDataSeries(data) if not chiSquare.execute(): raise Exception( tel.getLastError() ) return chiSquare.ReducedChiSquare
ptn = 0 kStart = 0.3 kEnd = 1.5 kStep = .01 for k in np.arange(kStart, kEnd, kStep): rr.setValue("k1", k) rr.reset() timeStart = 0 timeEnd = 1.5 nrPoints = 15 data = rr.simulate(timeStart, timeEnd, nrPoints - 1) chiSquare.ModelData = tel.getDataSeries(data) if not chiSquare.execute(): raise Exception(tel.getLastError()) redChi = chiSquare.ReducedChiSquare print 'ptn, k, chisquare = ' + ` ptn ` + ', ' + ` k ` + ', ' + ` redChi ` x = np.append(x, k) y = np.append(y, redChi) ptn = ptn + 1 plt.subplot(1, 3, 1) plt.plot(x, y, '-o', label="Reduced ChiSquare") plt.legend() plt.xlabel("k1") plt.ylabel("ChiSquare") #Calculate the derivative i = 1
nrPoints = 15 for k in np.arange(kStart, kEnd, kStep): rr.reset() rr.setValue("k1", k) rr.setValue("k2", 2.5) data = rr.simulate(timeStart, timeEnd, nrPoints - 1) #Get chi square plugin and set it up chiSquare = tel.Plugin("tel_chisquare") chiSquare.ExperimentalData = expData chiSquare.ModelData = tel.getDataSeries(data) chiSquare.NrOfModelParameters = 2 if not chiSquare.execute(): raise Exception( tel.getLastError() ) redChi = chiSquare.ReducedChiSquare print 'k, chisquare = ' + `k` +', '+ `redChi` x = np.append(x, k) y = np.append(y, redChi) plt.plot(x,y, '-o', label="Reduced ChiSquare") plt.legend() plt.xlabel("k2") plt.show() print "done" except Exception as e: print 'Problem: ' + `e`