Matlab 高斯拟合绘图,使用条形图(x,y)绘图

Matlab 高斯拟合绘图,使用条形图(x,y)绘图,matlab,histogram,gaussian,normal-distribution,bar-chart,Matlab,Histogram,Gaussian,Normal Distribution,Bar Chart,我用条(x,y)从一组数据x和y绘制了一个正态分布,我知道这是一个正态分布 现在,我想: 在图中绘制符合条形图的正态分布曲线(或高斯曲线) 得到方程,这样我就可以计算出最大点和半最大点的宽度 我一直在看histfit,但它对我来说并不起作用(就像hist对绘制数据不起作用一样,我想我已经知道x和y了?)。有人能帮我吗?一个技巧是,用游程长度算法解码你的x,然后对该数据运行histfit(),但是不会恢复原始数据(因此拟合也会受到装箱引入的近似值的影响): % data from your pre

我用
条(x,y)
从一组数据x和y绘制了一个正态分布,我知道这是一个正态分布

现在,我想:

  • 在图中绘制符合条形图的正态分布曲线(或高斯曲线)

  • 得到方程,这样我就可以计算出最大点和半最大点的宽度


  • 我一直在看
    histfit
    ,但它对我来说并不起作用(就像
    hist
    对绘制数据不起作用一样,我想我已经知道x和y了?)。有人能帮我吗?

    一个技巧是,用游程长度算法解码你的
    x
    ,然后对该数据运行
    histfit()
    ,但是不会恢复原始数据(因此拟合也会受到装箱引入的近似值的影响):

    % data from your previous question
    x = [0 0.0278 0.0556 0.0833 0.1111 0.1389 0.1667 0.1945 0.2222];
    y = [1 3 10 13 28 53 66 91 137];
    
    % histfit 
    histfit(rude(y,x),9,'normal')
    
    您可以在上找到运行长度编码/解码功能

    结果是:


    为什么
    histfit
    对您不起作用?可能是因为我不知道如何使用它,尽管我已经阅读了说明。我的数据有点像x=1、1.2、1.4、1.6、1.8,y是x的每个值的计数,因此,例如y=0、2、6、2、0
    histfit()
    可以处理原始数据,但您已经将其装箱。你有原始数据吗?我的数据来自一个实验,我知道它会产生一个正态分布。我知道x和y值。