web-dev-qa-db-fra.com

Comment sortir une courbe cspline lisse sous forme de fichier de données

Quelqu'un sait-il comment extraire certaines données de la courbe cpline lisse pour des données données?

Par exemple, il existe un fichier de données qui comporte 2 colonnes correspondant aux valeurs x et y. Je peux dessiner les données avec une courbe cpline lisse par les commandes suivantes

p 'data' w lp, ""  smooth csplines

Je veux extraire la courbe cpline lisse comme un autre fichier de données.

10
user4914499

Cela peut être fait en définissant un table. Considérez le fichier de données suivant:

0 1
1 2
2 3
3 2
4 2
5 4
6 8
7 5
8 3
9 1

Les données elles-mêmes et leur interpolation csplines ressemblent à ceci:

enter image description here

Pour imprimer l'interpolation dans une table, procédez comme suit:

set samples 100
set table "table_100"
plot "data" smooth csplines
set samples 20
set table "table_20"
plot "data" smooth csplines
unset table

set samples détermine le nombre de points utilisés pour construire la courbe spline. Et vous pouvez le visualiser:

set key left
plot "data" pt 7 t "Original data", \
     "table_100" w l t "Splines (100 samples)", \
     "table_20" w l t "Splines (20 samples)"

enter image description here

13
Miguel

Utilisation set table 'temp.dat' pour rediriger les points de données tracés vers un fichier externe

set table 'temp.dat'
plot 'myfile.dat' using 1:2 smooth cspline
unset table

Pour le tester

plot 'myfile.dat' using 1:2 with points title 'original points',\
     'temp.dat' using 1:2 with lines title 'smoothed curve'
5
Christoph