⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 find_bins.m

📁 实现地震勘探中
💻 M
字号:
function binindex=find_bins(x,edges)% Assign entries of a vector to bins defined by their edges.% For bins defined by "edges" determine, for each x the index of the bin into % which it falls. If an x falls on a bin boundary its index is the average of % that of the two bins. The first bin boundary has index 0.5, the last n+0.5%  where n is the number of bins. Values of x smaller than the first bin get index -inf,% those greater than the last bin get index inf. It is like a generalization % of Matlab function "histc".%% Written by: E. R.: February 20, 2007% Last updated:%%          binindex=find_bins(x,edges)% INPUT% x        numeric vector sorted in increasing order% edges    edges of bins (vector with strictly monotonicly increasing entries)%          the number of bins is one less than the number of edges.% OUTPUT% binindex index of bins into which each element of "x" falls%          same size as "x"%          if, for a particular "x(n)", the binindex is, say, k then%          this "x(n)" is between edges(k) and edges(k+1)%% EXAMPLE%      x=[0,1,1,1.5,1.9,2,2.1,3.1,3.1,5.5,2,6,6.1]';%      edges=(1:6)';%      binindex=find_bins(x,edges)'%      [dummy,compare_with]=histc(x,edges);%      disp(compare_with')[x,dummy,jj]=unique(x);a=[x(:);edges(:)];indicator=[false(length(x),1);true(length(edges),1)];[a,index]=sort(a);indicator=indicator(index);idx=find(indicator);%binindex=zeros(size(x));binindex=cumsum(indicator);for ii=1:length(idx);   try      if a(idx(ii)) == a(idx(ii)-1)         binindex(idx(ii)-1)=binindex(idx(ii))-0.5;      end   catch   end   try      if a(idx(ii)) == a(idx(ii)+1)         binindex(idx(ii)+1)=binindex(idx(ii))-0.5;      end   catch   endendbinindex=binindex(~indicator);%	Handle x-values outsid the binsbinindex(binindex==0)=-inf;binindex(binindex==length(edges))=inf;%	Re-introduce duplicate values (f they existedbinindex=binindex(jj);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -