在Matlab中将直方图更改为曲线,但不是“适合”

时间:2014-03-17 05:38:07

标签: matlab

我使用matlab处理数据以获得半径分布函数。现在我得到不同距离的其他原子到1个特定原子的数据(数组)。 我使用“hist”命令(hist(radius1,400))并获得直方图:

但我想要的是曲线,像这样: http://upload.wikimedia.org/wikipedia/commons/3/31/Lennard-Jones_Radial_Distribution_Function.svg

我尝试了一些拟合命令,但它会给我一个类似于正态分布的曲线,这不是我想要的。实际上不合适是好的,我只想要一条曲线来表明它的变化。

原始数据是一个4000 * 1的半径数组,有没有其他方法可以获得直方图每个条形顶部的曲线?

非常感谢。

1 个答案:

答案 0 :(得分:0)

不是使用hist自动绘制直方图,而是可以输出值:

[x, c] = hist(radius1,400);

x是每个bin中的数据,c每个bin的中心,所以这复制了一个直方图,然后在其上过度绘制一条线(这将只连接每个条的顶部,所以它可能看起来不像你希望的那样顺利):

bar(c,x);
hold on
plot(c,x,'r');

可以将fit与匿名函数一起用作自定义模型,但在这种情况下可能会有点过分。