Interpolazione Spline

di Anonimizzato12023 il
3 risposte
Salve, nel tentativo di effettuare un'interpolazione spline in java mi sono imbattuto in questa classe:
http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/analysis/interpolation/SplineInterpolator.html
Il problema è che non capisco se sia una classe della libreria standard (e nel caso dove trovarla) oppure sia un'altra classe (che in tal caso ugualmente non so dove trovare)

Qualcuno sarebbe così gentile da aiutarmi?

Grazie mille!

3 Risposte

  • Ciao, quella classe fa parte della libreria commons math, reperibile a questo indirizzo:
  • Grazie mille, sono riuscito a farla scaricarla e a farla partire ma ho un problema (di comprensione dell'API probabilmente)
    Questo è il main
    
    double[] x = {2.0,4.0,6.0,8.0};
    double[] y = {1.0,2.0,4.0,-5.0};
    SplineInterpolator interpolator = new SplineInterpolator();
    PolynomialSplineFunction interpolation = interpolator.interpolate(x,y);
    System.out.println(Arrays.toString(interpolation.getPolynomials()));
    Come output mi dà (come è lecito aspettarsi) tre funzioni, ma c'è qualcosa che non va:
    [1 + 0.125 x^3, 2 + 1.5 x + 0.75 x^2 - 0.5 x^3, 4 - 1.5 x - 2.25 x^2 + 0.375 x^3]
    Graficando le tre funzioni infatti si evidenzia che sono discontinue tra loro e non rispettano i valori passati in ingresso.

    Eppure secondo quanto scritto sulla pagina:
    Parameters:
    x - the arguments for the interpolation points
    y - the values for the interpolation points
    Qualche idea al riguardo?
  • Ho risolto, il problema stava nella stampa dell'array che non mi faceva le opportune traslazioni (ergo non centrava le funzioni)

    Per me si può chiudere!
Devi accedere o registrarti per scrivere nel forum
3 risposte