Я пытаюсь передать два массива для функции фитинга, которая принимает оба значения.Python - curve_fit дает неправильные коэффициенты
файл данных:
Колонка 1: Время Колонка 2: Температура Колонка 3: Объем Колонка 4: Давление
0.000,0.946,4.668,0.981
0.050,0.946,4.668,0.981
0.100,0.946,4.669,0.981
0.150,0.952,4.588,0.996
0.200,1.025,4.008,1.117
0.250,1.210,3.093,1.361
0.300,1.445,2.299,1.652
0.350,1.650,1.803,1.887
0.400,1.785,1.524,2.038
0.450,1.867,1.340,2.145
0.500,1.943,1.138,2.280
0.550,2.019,0.958,2.411
0.600,2.105,0.750,2.587
0.650,2.217,0.542,2.791
0.700,2.332,0.366,2.978
0.750,2.420,0.242,3.116
0.800,2.444,0.219,3.114
0.850,2.414,0.219,3.080
здесь код
import numpy as np
from scipy.optimize import curve_fit
# Importing the Data
Time_Air1 = []
Vol_Air1 = []
Temp_Air1 = []
Pres_Air1 = []
with open('Good_Air_Run1.csv', 'r') as Air1:
reader = csv.reader(Air1, delimiter=',')
for row in reader:
Time_Air1.append(row[0])
Temp_Air1.append(row[1])
Vol_Air1.append(row[2])
Pres_Air1.append(row[3])
# Arrays are now passable floats
Time_Air1 = np.float32(np.array(Time_Air1))
Vol_Air1 = np.float32(np.array(Vol_Air1))
Temp_Air1 = np.float32(np.array(Temp_Air1))
Pres_Air1 = np.float32(np.array(Pres_Air1))
# fitting Model
def model_Gamma(V, gam, C):
return -gam*np.log(V) + C
# Air Data Fitting Data
x1 = Vol_Air1
y1 = Pres_Air1
p0_R1 = (1.0 ,1.0)
optR1, pcovR1 = curve_fit(model_Gamma, x1, y1, p0_R1)
gam_R1, C_R1 = optR1
gam_R1p, C_R1p = pcovR1
y1Mair = model_Gamma2(x_air1, gam_R1, C_R1)
вычислим гамма-коэффициент, но это не дает мне значение, которое я ожидаю, ~ 1.2. Это дает мне ~ 0.72
Да, это правильное значение, потому что мой друг вписывает данные в gnuplot и получает это значение.
Если у вас есть какая-либо информация, необходимая для фактического тестирования, я рад ее предоставить.
* Если есть какая-либо информация необходима на самом деле попробовать это, я счастлив для его поставки *. Файл данных будет приятным. –
@OliverW. Дайте мне один момент. – DarthLazar
У вас есть два параметра, которые вам подходят: вы уверены, что они не (частично) вырождены. Вы сравнили значения для другой переменной, C? – Evert