[Scilab-users] frequency analysis of N variables
Serge Steer
Serge.Steer at inria.fr
Mon Dec 1 18:37:22 CET 2014
I think the attached function do what you expect
Serge Steer
Le 01/12/2014 17:15, David Chèze a écrit :
> Hi all,
>
> I have timeseries with measurements at every timestep and I would like to
> define bins of values for every variable and be able to count the number of
> records that are in each bin: for 2 variables X and Y with 3 and 5 bins
> respectively for example, the results is a matrix 3x5 where i,j element is
> : the number of measurements that are in the ith bin of X and jth bin of Y.
> I wonder if there is a direct function to address this "common" problem of
> classification/sorting in scilab or toolbox like stixbox or nan_toolbox or ?
>
> Thanks for your advice,
>
> David
>
>
>
> --
> View this message in context: http://mailinglists.scilab.org/frequency-analysis-of-N-variables-tp4031497.html
> Sent from the Scilab users - Mailing Lists Archives mailing list archive at Nabble.com.
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users
>
-------------- next part --------------
function occ=dsearch2D(xy,dx,dy,opt)
//xy, coordinates of the points of the cloud
//dx, discretization of the x axis
//dy , discretization of the y axis
//occ, table such as occ(i,j) contains the number of points in the
//"pixel" [dx(i) dx(i+1)) x [dy(j) dy(j+1))
if argn(2)<4 then opt='c';end
if and(opt<>["c","d"]) then
error(msprintf(_("%: unknown char specifier (must be ''c'' or ''d'')\n"),"dsearch2D"))
end
if size(xy,2)<>2 then
error("Wrong dimension for first argument")
end
[indx,occx]=dsearch(xy(:,1),dx,opt);
occ=[];
dy=matrix(dy,1,-1);
for k=1:length(dx)-1
i=find(indx==k);
[indy,occy]=dsearch(xy(i,2),dy,opt);
occ=[occ; occy];
end
endfunction
More information about the users
mailing list