Ho un codice MATLAB che richiede dati di serie temporali uniformemente distribuiti nel tempo per produrre una risposta. Il codice matlab del driver che legge il file di dati esegue anche un interp1 (x, y, xi, 'cubico') sui dati dopo che legge il file perché i dati non sono distribuiti uniformemente nel tempo.In Java esiste un'implementazione per l'interpolazione di dati di serie temporali distribuiti in modo non uniforme?
Ora devo portare questo processo in Java per aggiungerlo ad alcuni processi di produzione. La versione MATLAB non è anemizzabile a un numero elevato di file di dati e non può essere utilizzata in produzione.
La mia domanda reale è dove posso trovare una libreria Java che implementa già il metodo "cubico" interp1 da utilizzare quando i dati vengono letti nel processo?
In base ai documenti MATLAB, "cubico" equivale all'interpolazione piecewise cubic hermite interpolating polynomial (pchip). 'spline' produce risultati inaccettabili. Ho già visto Apache commons-math e JAMA.
Suona come un buon esercizio di java :-) – aioobe
Sono d'accordo, tranne che l'obiettivo non è un'esperienza di apprendimento per me. Lo implementerò se necessario, ma preferirei usare una libreria, se possibile. –
Questo sarebbe molto utile se devo codificare la mia soluzione per un problema correlato: http://stackoverflow.com/questions/2675929/is-there-a-java-data-structure-that-is-effectively-an -arraylist-with-double-indic Con la risposta a questa domanda, posso semplicemente aggiungere un'interfaccia simile a ArrayList e duplicare le funzionalità esistenti con (si spera) prestazioni e accuratezza migliori. –