J'essaie d'ajuster une surface spline à des données 2D en utilisant scipy interpolate.
from scipy import interpolate
Utilisation
# fit spline to surface
xnew, ynew = np.mgrid[x[0]:x[-1]:100j, y[0]:y[-1]:100j]
tck = interpolate.bisplrep(X, Z, array)
znew = interpolate.bisplev(xnew[:,0], ynew[0,:], tck)
Mais je reçois les messages d'avertissement suivants :
C:\Users...\AppData\Local\Continuum\Anaconda3\lib\site -Paquets \scipy\interpolate_fitpack_impl.py :975 : Avertissement d'exécution : Un résultat théoriquement impossible lors de la recherche d'un spline de lissage avec fp = s. Causes probables : s trop petit ou eps mal choisi. mal choisi. (abs(fp-s)/s>0.001) kx,ky=3,3 nx,ny=16,18 m=610 fp=18417275715.663498 s=575.071502 warnings.warn(Runti C:\Users...\AppData\Local\Continuum\Anaconda3\lib\site -Paquets \scipy\interpolate_fitpack_impl.py :975 : RuntimeWarning : L'espace de stockage requis dépasse l'espace de stockage disponible. disponible. Causes probables : nxest ou nyest trop petit ou s trop petit. (fp>s) kx,ky=3,3 nx,ny=20,20 m=610 fp=661.198585 s=575.071502 warning C:\Users...\AppData\Local\Continuum\Anaconda3\lib\site -Paquets \scipy\interpolate_fitpack_impl.py :975 : RuntimeWarning : L'espace de stockage requis dépasse l'espace de stockage disponible. disponible. Causes probables : nxest ou nyest trop petit ou s est trop (fp>s) kx,ky=3,3 nx,ny=20,20 m=610 fp=1013.605606 s=575.071502 warnings.warn(RuntimeWarning(_iermess2[ierm][0] + _mess))
Et au lieu d'obtenir quelque chose de similaire à mes données :
J'avoue que je ne sais pas ce que signifient les messages d'avertissement et que je n'ai rien trouvé sur l'internet.