假设我们有以下数据,在文件名为data的文件里。
1 2 3 4 5 6 7 |
1 1 2 2.3 3 2.9 4 3.8 5 5.4 |
1.终端输入gnuplot打开软件,之后输入 f(x)=a*x+b,如下
1 2 3 |
gnuplot> f(x)=a*x+b #用一次函数拟合 |
2.输入以下命令进行拟合:
1 2 3 |
gnuplot> fit f(x) 'data' u 1:2 via a, b |
其中u是using,表示用data文件里第1~2列的数据,via是指拟合变量是a,b。输入以上命令后会输出很多相关信息,不赘述。
3.求取拟合函数的字符串
1 2 3 |
gnuplot> func=sprintf("y=%.2f*x+%.2f",a,b) |
4.画图
1 2 3 |
gnuplot> plot f(x) title func |
得到如下图:
5.描点
1 2 3 |
gnuplot> replot 'data' u 1:2 title 'points' |
最终图像如下:
总的命令如下:
1 2 3 4 5 6 7 |
f(x)=a*x+b fit f(x) 'data' u 1:2 via a, b func=sprintf("y=%.2f*x+%.2f",a,b) plot f(x) title func replot 'data' u 1:2 title 'points' |