From 6d36a331a5b1f2da8555f771ae65e2ba8396a7ef Mon Sep 17 00:00:00 2001 From: Recolic Keghart <root@recolic.net> Date: Wed, 18 Apr 2018 14:10:29 +0800 Subject: [PATCH] fix va. --- quickmap.py | 2 +- va/__pycache__/quickmap.cpython-36.pyc | Bin 1750 -> 1778 bytes va/quickmap.py | 57 ------------------------- va/va.py | 8 ++-- 4 files changed, 6 insertions(+), 61 deletions(-) delete mode 100644 va/quickmap.py diff --git a/quickmap.py b/quickmap.py index ab9b1d0..795147a 100644 --- a/quickmap.py +++ b/quickmap.py @@ -173,4 +173,4 @@ def DataFileToXYArray(fname, lineDelimiter = '\n', wordDelimiter = ' ', commentS yArray.append(_DataType(ar[1])) except: print('At data line "{}":'.format(ori_line)) - return xArray, yArray \ No newline at end of file + return xArray, yArray diff --git a/va/__pycache__/quickmap.cpython-36.pyc b/va/__pycache__/quickmap.cpython-36.pyc index a63e86d05d41d89c53bdbef5e6eded6c24a6b0f0..eb5b18956606b5667c5fc29c53fd666ac54e8833 100644 GIT binary patch delta 79 zcmcb{`-zv+n3tDpg{NAS%|_10jOJz`8JWcjg{7Iv*|~`YdIgmVKyFHEPHIVNib7Iq ea$;#QkddFJkY8E?qEZq|QWX^yH?uRHX8`~xMH+?x delta 51 zcmeywdySXVn3tE!XT5Ty{6@~ljM7r>sd=eInaR5DsU^ON1qw-(3PGvK`8k=%dYhG* H&a(gjp`8$k diff --git a/va/quickmap.py b/va/quickmap.py deleted file mode 100644 index c2ced52..0000000 --- a/va/quickmap.py +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/env python3 -# -*- coding: UTF-8 -*- -# Gereric: Draw line. -# Recolic Keghart, Apr 29, 2017. - -import numpy -from scipy.optimize import leastsq -import matplotlib.pyplot as plt -from matplotlib import rcParams - -def GetMap(parrX, parrY, windowX = 12, windowY = 8, line = False, passO = False): - print('This quickmap.py is deleted becaused of out of date!!!') - arrX, arrY = parrX, parrY - maxX, maxY = max(arrX)*1.2, max(arrY)*1.25 - - # Do calculate - # y = k x + b (I = k V + b) - print('Your input: ', arrX, '|', arrY) - print('Data collection done. Generating result...') - V, I = numpy.array(arrX), numpy.array(arrY) - def lineFunc(kb, v): - k,b=kb - if passO: - return k*v - else: - return k*v+b - - lossFunc = lambda kb, v, i : lineFunc(kb, v) - i - - # Fire! - if line: - kb0 = [10,0] - kbFinal = leastsq(lossFunc, kb0, args=(V, I)) - k,b=kbFinal[0] - print('Fit line done. Y=', k, 'X +', b) - else: - print('Drawing map without fitting a line...') - - # Draw function map. - rcParams['grid.linestyle']='-' - rcParams['grid.color'] = 'blue' - rcParams['grid.linewidth'] = 0.2 - plt.figure(figsize=(windowX, windowY)) - plt.scatter(V,I,color="red",label="Sample Point",linewidth=3) - if line: - px=numpy.linspace(0,maxX,1000) - py=k*px+b - plt.plot(px,py,color="orange",label="Fitting Line",linewidth=2) - plt.legend() - plt.grid() - plt.show() - - def toFloat(sstr): - if sstr == '': - return 0.0 - else: - return float(sstr) diff --git a/va/va.py b/va/va.py index 9234310..2bda4d8 100755 --- a/va/va.py +++ b/va/va.py @@ -1,7 +1,9 @@ #!/bin/env python3 import numpy + import sys -from quickmap import GetMap as draw +sys.path.append('..') +from quickmap import * print('Usage: python va.py path/va-dat.in <Voltmeter range(V)> <Ammeter range(mA)> <fit line>') print('Example: python3 va.py va-dat.in 1 15 true') @@ -10,6 +12,6 @@ Uraw,Iraw=dat[:,0],dat[:,1] U=[utrue/100*float(sys.argv[2]) for utrue in Uraw] I=[itrue/150*float(sys.argv[3]) for itrue in Iraw] if sys.argv[4] == 'true': - draw(U,I,6,4,line=True,passO=True) + GetMap(U,I,polyLine=True,poly_passO=True) else: - draw(U,I,6,4) + GetMap(U,I) -- GitLab