2011-11-26 5 views
13

Sto provando a montare alcuni dati e cose, so che c'è un semplice comando per farlo con python/numpy/matplotlib, ma non riesco a trovarlo. Penso che sia qualcosa di simileraccordo curva con python

popt,popc = numpy.curvefit(f,x) 

dove popt è il paramters di f, popc è la qualità in forma e f è una funzione predefinita di f. Qualcuno di voi lo sa?

+1

Se si tratta di una tantum, è più semplice inserire i valori nel mirino di funzioni su http://zunzun.com/ e lasciargli trovare la migliore curva di corrispondenza. Anche il loro codice Python è disponibile. – endolith

risposta

28

Date un'occhiata a scipy.optimize.curve_fit:

scipy.optimize.curve_fit (f, xdata, YData, p0 = Nessuno, sigma = Nessuno, ** kw)

Utilizzare i minimi quadrati non lineari per adattare una funzione, f, ai dati.

+0

Una domanda: c'è un modo semplice per ottenere il valore R-squared di curve_fit, o ottenere SSE in modo da poter calcolare R-squared? Posso fare un po 'di lavoro e farlo funzionare in scipy.optimize.leastsq, ma il codice sarà molto più dettagliato. –

0

Found it. Curve_fit da ottimizzare in scipy

+0

Non è questa risposta un duplicato della risposta accettata? –