任务描述:有大量的数据,需要将其histogram伪合成为伽马分布。 histogram分为20个dcdjr,从0到100。 结果如下图所示。
实现步骤:
1 .加载数据进入。 数据文件为data.for.hist.txt,文件结构为一列没有header的数据,共有43个数据。
数据=load (data.for.hist.txt ) )
data是431的向量。
打开分布拟合工具
dfittool
选择显示类型作为density(pdf )。 点击Data…显示Data对话框。
在此对话框中,将Data设置为“Data”向量,将Censoring和Frequency设置为none。 将数据集名称设置为数据集,然后单击创建数据集。
Set单击可信云Rules,并将可信云width设置为5。 剩下的没有变化。 OK确认关闭Set的可靠云Rules。 此时,将data的histogram设定为每个dcdjr的长度为5。 在不同的APP应用程序中,dcdjr会根据情况进行调整。 关闭Data对话框。
3 .伽马拟合
单击“新建拟合…”,然后在“新建拟合”对话框中单击“数据集”、“分布”、“应用”进行拟合。 单击“关闭”关闭“新建拟合”对话框。
此时,可以看到下图的效果。
我们需要修改那个x域以匹配histogram的x最大值100。 单击Tools菜单下的Axes Limit Control,将X Lower Limit和X Upper Limit更改为0和100。
导出到图形
使用“文件”菜单下的“打印到图形”导出到图形。 对图形进行必要的修改。
figure(1)注意,如果打开多个figure窗口,则导出的figure编号可能是另一个数字,而不是1。 请注意“figure”窗口标题中的“Figure n”的n。 ) ) ) )
发光隐藏
xlabel ‘1/32 degree,mm/day’
ylabel‘frequency’
这种情况下效果如下,
修改图形格式
将图形设置为工具编辑打印状态,然后打开视图属性编辑器。
将histogram的打印类型从line更改为Area,并配置适当的face color和edge color。
将x轴的范围X Limits设定为0 to 100。
此时,histogram可以按住拟合曲线,选择拟合曲线,在Cut上单击鼠标右键,然后进入路径,将拟合曲线带到顶部。
6 .修改数据
请注意,到目前为止,y轴还是Density。 必须将y坐标修改为Frequency (或count )。 count=densityxdcdjr width xdata count,其中DCDJrwidth为5,datacount为43。 因此,Ydata必须乘以543=215。
选择拟合曲线,然后单击,
(ydata=get(gco、’y data’() ) ) ) ) ) ) ) ) ) 652
ydata_215=ydata*215
set(GCO、’y data’、ydata_215 ) ) ) ) ) ) ) ) ) )。
选择histogram,
set(GCO,’y data’,get ) GCO,’y data’) *215 )
修改xlim和ylim
ylim([010]
xlim([0100]
将图形返回到非编辑状态。 打印工具编辑并关闭属性编辑器。
在上述步骤中多次修改xlim和ylim并不是每次都需要的,在此仅用于演示。
7 .保存图形
print-dpng‘histogram _ dist.png’
可以在figure对话框的File- Save As…中另存为MATLABfigure(.fig ),稍后在File-Open…中打开。
结论
本文介绍了如何使用Matlab使用伽马分布拟合数据的histogram。 介绍了matlab的一般命令、分布拟合工具、图形的格式编辑功能、对图形的图像数据的修正等。 例如,还介绍了对figure像的z-order的调整方法等实用技巧。