Данные фитинга кривой неисправности в Python - PullRequest
0 голосов
/ 10 февраля 2020

Когда я запускаю код, линейное приближение не выглядит линейным, а время квадратичного подбора c истекает. Мне нужна помощь, чтобы понять, как правильно построить данные. Данные представляют собой около 40 строк данных о времени и положении с низким порядком величины. Не уверен, почему линейная подгонка так отключена и почему время подбора квадратора истекло.

import numpy as np 
import matplotlib.pyplot as plt
import pandas as pd
from scipy.optimize import curve_fit

time1 = np.ravel(pd.read_csv('DataRun_solid_2.csv', usecols=[0]))
pos1 = np.ravel(pd.read_csv('DataRun_solid_2.csv', usecols=[1]))

def linear_pos(t, vt, tau):
    x = vt*(t-tau*(1-np.exp(-t/tau)))
    return x

def quad_pos(t, vt, tau):
    x = vt*tau*np.log(np.cosh(t/tau))
    return x

popt, pcov = curve_fit(linear_pos, time1, pos1)
tau = popt[1]
vt = popt[0]

#popt1, pcov1 = curve_fit(quad_pos, time1, pos1)
#tau1 = popt1[1]
#vt1 = popt1[0]

#quad = quad_pos(time1, vt1, tau1)

linear = linear_pos(time1, vt, tau)

fig, ax = plt.subplots(num=0, clear=True)

ax.plot(time1, pos1, 'ko')
ax.plot(time1, linear, 'b-')
#ax.plot(time1, quad, 'r-')

ax.grid(True)

ax.set_xlabel('Time (s)')
ax.set_ylabel('Position (mm)')
ax.set_title('3/8ths Ball Drop Test 1')

fig.tight_layout()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...