我想对矩阵的每一列进行直方图绘制,但是我希望对数箱是对数的并且也要归一化,同样,在我进行直方图绘制后,我也希望在不显示条形的情况下进行拟合。 iv尝试了以下方法:
y=histogram(x,'Normalized','probability');
这使我的直方图归一化,但是我不知道如何使垃圾箱对数。
答案 0 :(得分:2)
我认为正确的语法应为gensim
。
为了使其具有对数性,您必须更改轴对象。
例如:
Normalization
答案 1 :(得分:1)
创建对数直方图的方法有两种:
计算数据对数的直方图。这可能是最好的方法,因为您让软件决定要创建的仓位数量,依此类推。x轴现在不匹配您的数据,而是匹配您的数据日志。对于拟合功能,这可能是有益的,但对于显示,可能会造成混淆。在这里,我更改了刻度线标签以显示实际值,使刻度线本身保持其原始值:
y = histogram(log(x),'Normalization','probability');
h = gca;
h.XTickLabels = exp(h.XTick);
以对数刻度确定您自己的仓边缘。在这里,您需要根据样本数量和样本分布来确定需要多少个容器。
b = 2.^(1:0.25:3);
y = histogram(x,b,'Normalization','probability');
set(gca,'XTick',b) % This just puts the tick marks in between bars so you can see what we did.
使用方法1,MATLAB可以根据输入数据自动确定垃圾箱的数量和垃圾箱边缘。因此,它不适合创建多个匹配的直方图。在这种情况下,请使用方法2。可以通过这种方式更简单地获得in边缘:
N = 10; % number of bins
start = min(x); % first bin edge
stop = max(x); % last bin edge
b = 2.^linspace(log2(start),log2(stop),N+1);