与えられた次のコードがありますが、ここのロジックが何であるかについてはまったくわかりません。アイデアは、これが私のデータをヒストグラム化/量子化するということです。コードは次のとおりです。
入力:
x = 180.*rand(1,1000); %1000 points from 0 to 180 degrees.
binWidth = 20; %I want the binWidth to be 20 degrees.
主な機能:
% -------------------------------------------------------------------------
% Compute the closest bin center x1 that is less than or equal to x
% -------------------------------------------------------------------------
function [x1, b1] = computeLowerHistBin(x, binWidth)
% Bin index
bin = floor(x./binWidth - 0.5);
% Bin center x1
x1 = binWidth * (bin + 0.5);
% add 2 to get to 1-based indexing
b1 = bin + 2;
end
最後に、最終的な「量子化された」データ:
w = 1 - (x - x1)./binWidth
これが私が得られないものです:私は理解していません-まったく-なぜ正確にx1
そのように計算されるのか、そしてなぜ/どのw
ようにそれがそのように計算されるのか. 実際、すべてのことの中で、w
私を最も混乱させます。ここでの論理、または実際に意図されていることを文字通り理解できません。このロジックの詳細な説明をいただければ幸いです。ありがとう。