63 lines
1.4 KiB
Python
63 lines
1.4 KiB
Python
import numpy as np
|
|
import pandas as pd
|
|
import json
|
|
|
|
def generar_curva(offset):
|
|
muVacio = 4 * np.pi * 1e-7
|
|
|
|
hPos = np.arange(1,5001,1)
|
|
hNeg = np.arange(-5000,0,1)
|
|
|
|
bPos = muVacio*hPos + offset
|
|
bNeg = muVacio*hNeg - offset
|
|
|
|
h = np.concatenate((hNeg, hPos))
|
|
b = np.concatenate((bNeg, bPos))
|
|
|
|
return h, b
|
|
|
|
if __name__ == '__main__':
|
|
|
|
with open('resultados_ensayos.json', 'r') as f: datos = json.load(f)
|
|
|
|
Eobjetivo = np.array(datos['E'])
|
|
Iobjetivo = np.array(datos['I'])
|
|
fObjetivo = np.array(datos['f'])
|
|
|
|
errorObjetivo = 0.01 # +- cuanto % puede haber de diferencia
|
|
limSup = 1 + errorObjetivo
|
|
limInf = errorObjetivo
|
|
|
|
offset = 0
|
|
|
|
flag = True
|
|
|
|
while flag:
|
|
h,b = generar_curva(offset)
|
|
|
|
datos = np.column_stack((h,b))
|
|
|
|
np.savetxt('curva.csv', datos, delimiter=',')
|
|
|
|
############################
|
|
'''
|
|
Logica de motorCAD-Pyhton, se sacaran unos vectores con
|
|
corrientes, frecuencias y tensiones de operacion en
|
|
distintos puntos con una curva dada. Esto se hara estableciendo
|
|
como fijo la frecuencia y la corriente, si se puede solo
|
|
con frecuencia mejor. Se compara la tension (y corriente si no se fija)
|
|
con los valores objetivos.
|
|
|
|
'''
|
|
Ecalc = [1, 1, 1, 1, 1]
|
|
|
|
############################
|
|
|
|
error = Ecalc / Eobjetivo
|
|
|
|
|
|
|
|
|
|
|
|
|