Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab和Gnuplot中平滑拟合数据_Matlab_Matplotlib_Gnuplot_Smoothing - Fatal编程技术网

在Matlab和Gnuplot中平滑拟合数据

在Matlab和Gnuplot中平滑拟合数据,matlab,matplotlib,gnuplot,smoothing,Matlab,Matplotlib,Gnuplot,Smoothing,我想找到更好的方法来拟合我的数据。现在,这是我能做的最好的了,见图 打印时使用Gnuplot和smooth。然而,正如您在图中可能看到的,“csplines”似乎是最尖锐的技术,但这还不够。在图表的上半部分可以,但在下半部分一点也不好。 “x=[1,2,4,8]”中只有4个点的实际数据标记在“第1行”中。使用Gnuplot有更好的方法吗 Matlab(甚至其他工具)呢?如何轻松创建连接几个点的平滑曲线?为什么不看看scipy插值文档: 有很多方案可以帮助您使用matplotib绘制平滑数据

我想找到更好的方法来拟合我的数据。现在,这是我能做的最好的了,见图

打印时使用Gnuplot和
smooth
。然而,正如您在图中可能看到的,“csplines”似乎是最尖锐的技术,但这还不够。在图表的上半部分可以,但在下半部分一点也不好。 “x=[1,2,4,8]”中只有4个点的实际数据标记在“第1行”中。使用Gnuplot有更好的方法吗


Matlab(甚至其他工具)呢?如何轻松创建连接几个点的平滑曲线?

为什么不看看scipy插值文档:

有很多方案可以帮助您使用matplotib绘制平滑数据


HTH

您希望获得什么样的输出?如果有基础模型,则只能拟合数据。你所做的就是所谓的插值。@DavidZwicker我希望类似于“csplines”的东西,但可能会更平滑一些。如果你意识到,x=[4-8]之间的粉红色曲线会先下降,然后再上升,它不应该这样做。从x=4到x=8应为平滑连接。有可能吗?连接很顺畅。你可能希望它是单调的。你为什么要先划清界限?你只有四个数据点,如果你想引导读者的视线,唯一诚实的插值方法可能是线性插值。或者,你可以有一个合适的模型,你可以适合数据,即一些指数衰减或类似的东西。这取决于数据来自何处。两天前,matplotlib也提出了类似的问题:如果你想拟合,就用一个反函数拟合它,因为它是单调的。或图f(1/x)。