How to output smooth cspline curve as a data file

喜欢而已 提交于 2019-12-04 00:23:27

问题


Does anybody know how to extract some data of smooth cspline curve for a given data?

For instance, there is a data file which has 2 columns corresponding to x and y values. I can draw the data with smooth cpline curve by the following commands

p 'data' w lp, ""  smooth csplines

I want to extract the smooth cpline curve as an another data file.


回答1:


This can be done by setting a table. Consider the following data file:

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

The data itself and its csplines interpolation look like this:

To print the interpolation to a table one does the following:

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 determines the number of points used to construct the spline curve. And you can visualize it:

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)"




回答2:


Use set table 'temp.dat' to redirect the plotted data points to an external file

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

To test it

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


来源:https://stackoverflow.com/questions/30474631/how-to-output-smooth-cspline-curve-as-a-data-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!