Загрузил(а) файлы в 'Project'
This commit is contained in:
parent
6b00e74b42
commit
ad54866a04
38
Project/analize.py
Normal file
38
Project/analize.py
Normal file
@ -0,0 +1,38 @@
|
||||
from scipy.optimize import curve_fit
|
||||
from numpy import linspace
|
||||
|
||||
from numpy import tanh
|
||||
from scipy.constants import e, k
|
||||
|
||||
|
||||
import pandas as pd
|
||||
|
||||
|
||||
# Global variables
|
||||
|
||||
new_U = linspace(-25, 25, 1000)
|
||||
|
||||
|
||||
# Function for approximation
|
||||
|
||||
|
||||
def function_IU(U, I_n, T_e):
|
||||
return I_n * tanh(e*U/2/k/T_e)
|
||||
|
||||
# Find the best fit params of In and Te
|
||||
|
||||
|
||||
def find_FitParams(data_I, data_U):
|
||||
popt, pcov = curve_fit(function_IU, data_U, data_I, p0=[0, 50000])
|
||||
return popt, pcov
|
||||
|
||||
# Returns pandas.DataFrame with approximated Current and Voltage values
|
||||
|
||||
|
||||
def getApproxValues(data):
|
||||
data = data.sort_values(by=['U'])
|
||||
popt, pcov = find_FitParams(data['I'], data['U'])
|
||||
df = pd.DataFrame()
|
||||
df['U'] = new_U
|
||||
df['I'] = function_IU(df['U'], *popt)
|
||||
return df
|
33
Project/rw_device_params.py
Normal file
33
Project/rw_device_params.py
Normal file
@ -0,0 +1,33 @@
|
||||
# Dict for all devices params
|
||||
|
||||
all_params = {'func': 0, 'status': 1, 'name': 2,
|
||||
'id': 3, 'type_of_connection': 4, 'baud_rate': 5}
|
||||
|
||||
# Read device params from .dat device file
|
||||
|
||||
|
||||
def read_device_params(name):
|
||||
file = open('data/{}.dat'.format(name), 'r')
|
||||
params = file.readline().split()
|
||||
file.close()
|
||||
return params
|
||||
|
||||
# Change device params in .dat device file
|
||||
|
||||
|
||||
def write_device_params(name, param, value):
|
||||
|
||||
try:
|
||||
file = open('data/{}.dat'.format(name), 'r+')
|
||||
params = file.readline().split()
|
||||
if value != '':
|
||||
params[all_params[param]] = str(value)
|
||||
else:
|
||||
params[all_params[param]] = 'none'
|
||||
file.seek(0)
|
||||
file.truncate()
|
||||
file.write(' '.join(params))
|
||||
file.close()
|
||||
|
||||
except IndexError:
|
||||
print('ErrorType = FileError: File.dat for this device does not exist')
|
Loading…
Reference in New Issue
Block a user