/ / Area sotto curva python - python

Area sotto curva python - python

Ho una serie di punti dati che quando visualizzati da un grafico a linee appaiono così inserisci la descrizione dell'immagine qui

Il valore sull'asse x nel tempo e il valore sull'asse Y è un numero. Il mio ultimo compito è quello di trovare l'integrale del grafico tra qualsiasi intervallo di tempo di input.

Penso di dover fare due cose-

1- Trova una funzione continua che definisce questo grafico a linee (linea arancione)

2- Quindi utilizzare la libreria scipy.integrate per calcolare l'integrazione.

Ho due domande-

1- È questo l'approccio giusto o c'è un modo più intelligente per farlo?

2- Come trovare la funzione del grafico a linee data aset di punti dati? Questo è un po 'diverso dall'adattamento della curva dove troviamo l'adattamento "migliore". Qui voglio una funzione che definisca il grafico a linee visualizzato.

Sarebbe utile qualsiasi intuizione nella giusta direzione.

Grazie

risposte:

3 per risposta № 1

Non è possibile trovare alcuna funzione continua per questo tipo di dati, è totalmente irregolare come mostra la trama.

Quello che vuoi fare è usare il Regola trapezoidale. È disponibile come funzione Numpy (numpy.trapz).


1 per risposta № 2

Non sono d'accordo sulla funzione continua. È possibile fare l'integrazione numerica per dati come questo usando la regola di Simpson o qualcosa del genere.

Dal momento che si tratta di una serie storica, potresti fare una FFT e integrarla nel dominio della frequenza, quindi trasformare il risultato.