uso numpy.polyfit montare un secondo polinomio per un insieme di datinumpy.polyfit dà residui vuoti matrice
fit1, fit_err1, _, _, _ = np.polyfit(xint[:index_max], yint[:index_max], 2, full=True)
Per alcuni alcuni esempi dei miei dati, la variabile fit_err1
è vuota sebbene la l'adattamento è andato a buon fine, ovvero fit1
non è vuoto!
Qualcuno sa cosa vuol dire un residuo vuoto in questo contesto? Grazie!
EDIT: un esempio serie di dati:
x = [-488., -478., -473.]
y = [ 0.02080881, 0.03233648, 0.03584448]
fit1, fit_err1, _, _, _ = np.polyfit(x, y, 2, full=True)
risultato:
fit1 = [ -3.00778818e-05 -2.79024663e-02 -6.43272769e+00]
fit_err1 = []
so che il montaggio di un 2 ° polinomio per un insieme di tre punti non è molto utile, ma poi ho si aspetta ancora che la funzione rilevi un avvertimento o (come in realtà ha determinato un adattamento) restituisca i residui effettivi, o entrambi (come "qui ci sono i residui, ma le tue condizioni sono scarse!").
Puoi dare un piccolo esempio di alcuni dati che causano questo comportamento? –
Un polinomio di secondo ordine può essere adattato esattamente a tre punti, quindi i residui saranno tutti zero. Se l'unica situazione in cui non si ottiene alcun residuo è quando il numero di punti è esattamente uno in più rispetto all'ordine del polinomio, questa è la tua spiegazione di cosa sta succedendo. – Jaime
@Jaime: buon punto! Ma nel caso in cui l'adattamento è esatto, mi aspetterei che i residui siano piuttosto 0 rispetto a [], non è vero? – jkalden