def test_zeros(): zeros = [ labfloat(), labfloat(0), labfloat(0.0), labfloat(0, 0), labfloat(0.0, 0.0), labfloat(0.0, 0), labfloat(0, 0.0), ] for z1, z2 in combinations(zeros, 2): print(z1, z2) assert list(z1) == list(z2)
import matplotlib.pyplot as plt import numpy as np from labfis import labfloat import lmfit dados = np.loadtxt('parte3-dados') N1 = np.array([labfloat(k[0], k[1]) for k in dados]) V1 = np.array([labfloat(k[2], k[3]) for k in dados]) N2 = np.array([labfloat(k[4], k[5]) for k in dados]) V2 = np.array([labfloat(k[6], k[7]) for k in dados]) N2N1 = N2 / N1 V2V1 = V2 / V1 with open("parte3-tabela.txt", "w") as out: out.write("\t ".join(["N1", "V1", "N2", "V2", "N2/N1", "V2/V1"]) + "\n") for j in range(len(N1)): out.write("\t ".join([ str(N1[j]), str(V1[j]), str(N2[j]), str(V2[j]), str(N2N1[j]), str(V2V1[j]) ]) + "\n") x = [float(x) for x in N2N1] y = [float(y) for y in V2V1] relacao = lambda x, alpha, beta: alpha * x + beta
import matplotlib.pyplot as plt import numpy as np from labfis import labfloat import lmfit dados = np.loadtxt('hall') v = np.array([labfloat(k[0],k[1]) for k in dados]) i =np.array([labfloat(k[2],k[3]) for k in dados]) print("V:", v) print("I:", i) mo = 4*np.pi*1e-7 n = 760/labfloat(0.148,0.001) print("n:",n) vh = v - labfloat(9.4e-3,0.1e-3) b = mo*i*n print("Vh:", vh) print("B:", b) with open("tabelahall.txt", "w") as out: out.write("\t ".join(["I","V","Vh","B"])+"\n") for j in range(len(i)): out.write("\t ".join([str(i[j]),str(v[j]),str(vh[j]),str(b[j])]) + "\n") y = [float(y) for y in vh]
import matplotlib.pyplot as plt import numpy as np from labfis import labfloat import lmfit dados = np.loadtxt('hallterminais') calibracao = np.loadtxt('calibracao.txt') calibracao = labfloat(*calibracao) r = np.array([labfloat(k[0], k[1]) for k in dados]) vh = np.array([labfloat(k[2], k[3]) for k in dados]) print("r:", r) print("Vh:", vh) mo = 4 * np.pi * 1e-7 b = vh / calibracao print("B:", b) with open("tabelafiocampo.txt", "w") as out: out.write("\t ".join(["r", "Vh", "B"]) + "\n") for j in range(len(r)): out.write("\t ".join([str(r[j]), str(vh[j]), str(b[j])]) + "\n") y = [float(y) for y in b] x = [float(x) for x in r] campo = lambda r, alpha: alpha / r
import matplotlib.pyplot as plt import numpy as np from labfis import labfloat import lmfit dados = np.loadtxt('parte1-dados') f = np.array([labfloat(k[0], k[1]) for k in dados]) epsilon = np.array([labfloat(k[2], k[3]) for k in dados]) Vr = np.array([labfloat(k[4], k[5]) for k in dados]) R = labfloat(10, 1) N1 = 760 l1 = labfloat(15e-2, 1e-2) r1 = labfloat(2.25e-2, 0.01e-2) n1 = N1 / l1 N2 = 2100 l2 = labfloat(6e-2, 1e-2) r2 = labfloat(0.75e-2, 0.01e-2) n2 = N2 / l2 mu0 = 1.26e-6 I = Vr / R omega = 2 * np.pi * f omegaI = omega * I for name in ["f", "epsilon", "Vr", "I", "omega", "omegaI"]: print(name + ":", eval(name))
plt.yscale('log') capacitor = lambda t, Vo, Tal: np.log10(Vo) - t / Tal * np.log10(np.e) cmodel = lmfit.Model(capacitor) params = cmodel.make_params(Vo=vo, Tal=tal) result = cmodel.fit(np.log10(vc), params, t=t) res = result.fit_report() print(res) coefs = res[res.find("[[Variables]]") + 13:res.find("[[Correlations]]")].split("\n")[1:3] coefs = [coef.split() for coef in coefs] Tal = labfloat(coefs[1][1], coefs[1][3]) R = labfloat(224e3, 1e3) C = Tal / R print("C = {0}".format(C)) xs = np.linspace(1.5, 34, 200) ys = np.array([ capacitor(xs[j], float(coefs[0][1]), float(coefs[1][1])) for j in range(len(xs)) ]) plt.plot(xs, 10**ys,
import matplotlib.pyplot as plt import numpy as np from labfis import labfloat import lmfit dados = np.loadtxt('helmholtz') calibracao = np.loadtxt('calibracao.txt') calibracao = labfloat(*calibracao) z = np.array([labfloat(k[0], k[1]) for k in dados]) vh = np.array([labfloat(k[2], k[3]) for k in dados]) print("z:", z) print("Vh:", vh) mo = 4 * np.pi * 1e-7 b = vh / calibracao print("B:", b) i = labfloat(1, 1) a = labfloat(0.14, 0.01) N = 130 with open("tabelahelmholtz.txt", "w") as out: out.write("\t ".join(["z", "Vh", "B"]) + "\n") for j in range(len(z)): out.write("\t ".join([str(z[j]), str(vh[j]), str(b[j])]) + "\n")
capacitor = lambda t,Vo,Tal: Vo*(1-np.exp(-t/Tal)) cmodel = lmfit.Model(capacitor) params = cmodel.make_params(Vo=vo,Tal=tal) result = cmodel.fit(vc, params, t=t) res = result.fit_report() print(res) coefs = res[res.find("[[Variables]]")+13:res.find("[[Correlations]]")].split("\n")[1:3] coefs = [coef.split() for coef in coefs] xs = np.linspace(1.5,34,200) ys = np.array([capacitor(xs[j],float(coefs[0][1]),float(coefs[1][1])) for j in range(len(xs))]) Tal = labfloat(coefs[1][1],coefs[1][3]) R = labfloat(97e3,1e3) C = Tal / R print("C = {0}".format(C)) plt.figure() plt.rcParams.update({'font.size': 10}) plt.plot(xs, ys,'-',label=r'$V_o(1-e^{\frac{-t}{\tau}})$',linewidth=1.8,color='#adadad',zorder=0) plt.scatter(t, vc, label='Dados', color='#212121', s=25,zorder=5) plt.xlabel(r'$t\,(s)$',fontsize=10)
def test_attrs(): x = labfloat(10, 1) assert x.mean == 10 and x.uncertainty == 1
def test_neg_mean(): x = labfloat(243, 2) y = labfloat(-243, 2) y = -y assert list(x) == list(y)
def test_neg_uncertainty(): x = labfloat(243, 2) y = labfloat(243, -2) assert list(x) == list(y)
def test_pos(): x = labfloat(100, 4) y = +x assert list(x) == list(y)
def test_indexing(): assert labfloat(10, 2)[:] == (10, 2)
import matplotlib.pyplot as plt import numpy as np from scipy.signal import find_peaks from labfis import labfloat vc,vce,vi,vie = np.loadtxt('fonte').T vc = np.array([labfloat(vc[j],vce[j]) for j in range(len(vc))]) vi = np.array([labfloat(vi[j],vie[j]) for j in range(len(vi))]) print(vc) print(vi) cor = vi/4.7 rc = vc/cor re = rc + 4.7 pext = re*cor**2 print(cor) print(rc) print(re) print(pext) with open("tabelafonte.txt", "w") as out: out.write("\t ".join(["Vc","Vi","I","Rc","Re","Pe"])+"\n") for i in range(len(vc)): out.write("\t ".join([str(vc[i]),str(vi[i]),str(cor[i]),str(rc[i]),str(re[i]),str(pext[i])]) + "\n") maxs, _ = find_peaks(pext)
import matplotlib.pyplot as plt import numpy as np from labfis import labfloat import lmfit dados = np.loadtxt('parte2-dados') V = np.array([labfloat(k[0], k[1]) for k in dados]) I = np.array([labfloat(k[2], k[3]) * 1e-3 for k in dados]) R = labfloat(48.5, 0.1) RL = labfloat(14, 1) print("R_L teorico:", RL) N = 1000 L = 44 mu0 = 1.26e-6 x = [float(x) for x in I] y = [float(y) for y in V] relacao = lambda x, alpha, beta: alpha * x + beta cmodel = lmfit.Model(relacao) params = cmodel.make_params(alpha=float(R), beta=0) result = cmodel.fit(y, params, x=x) res = result.fit_report()
def test_infix(): for _ in range(200): x, e = uniform(-2e50, 2e50), uniform(-2e50, 2e50) assert labfloat(x, e) == x | u | e == x << u >> e
pmodel = lmfit.Model(ponte) params = pmodel.make_params(ar=0.7, R3=222, V=10) result = pmodel.fit(vg, params, R4=r4) res = result.fit_report() print(res) coefs = res[res.find("[[Variables]]") + 13:res.find("[[Correlations]]")].split("\n")[1:5] coefs = [coef.split() for coef in coefs] Va = labfloat(float(coefs[2][1]), float(coefs[2][3])) R3a = labfloat(float(coefs[1][1]), float(coefs[1][3])) Ar = labfloat(float(coefs[0][1]), float(coefs[0][3])) Vga = labfloat(0) R4V0 = R3a * ((1 / (Ar - Vga / Va)) - 1) print() print("R_4 for Vg = 0: {0}".format(R4V0)) #u = "{:g}".format(u).split("e") #R4V0 = "({:g}".format(R4V0.mean)+"\pm "+u[0]+")" R4V0 = "(" + "\pm".join(R4V0.split()) + ")"
import numpy as np from labfis import labfloat import matplotlib.pyplot as plt import lmfit vo = labfloat(9, 1) c1 = labfloat(913e-6, 1e-6) c2 = labfloat(1958e-6, 1e-6) vi = labfloat(9, 1) vf = labfloat(2.88, 0.01) qi = lambda c1, vi: c1 * vi qf = lambda c1, c2, vf: (c1 + c2) * vf ui = lambda c1, vi: 1 / 2 * c1 * vi**2 uf = lambda c1, c2, vf: 1 / 2 * (c1 + c2) * vf**2 res = [qi(c1, vi), qf(c1, c2, vf), ui(c1, vi), uf(c1, c2, vf)] print("Carga e Energia Armazenada Antes do Contato:") print("Qi = {0}\nUi = {2}".format(*res)) print() print("Carga e Energia Armazenada Depois do Contato:") print("Qf = {1}\nUf = {3}".format(*res)) dados = np.loadtxt('associacao') c1 = np.array([labfloat(k[0], k[1]) for k in dados]) c2 = np.array([labfloat(k[2], k[3]) for k in dados])