0001 function [output] = getBinsOfFluxes(samp,numfluxes,numbins)
0002
0003
0004
0005
0006
0007
0008
0009 output = 0;
0010
0011 if (nargin < 1)
0012 disp '[output] = compareBinsOfFluxes(samp,numfluxes,numbins)'
0013 return;
0014 end
0015
0016 if (nargin < 2)
0017
0018 numfluxes = 100;
0019 numbins = [];
0020 end
0021
0022 if (nargin < 3)
0023
0024 numbins = [];
0025 end
0026
0027 npoints = size(samp.points,2);
0028 disp (sprintf('found %d samples in input',npoints));
0029 if (npoints < 200)
0030 disp 'must have at least 200 points in sample for processing';
0031 return;
0032 end
0033
0034 if (isempty(numfluxes))
0035
0036 numfluxes = 0;
0037 if (isempty(numbins))
0038 disp 'neither numfluxes and numbins params defined, setting numbins to 2';
0039 numbins = 2;
0040 end
0041 if (numbins < 2)
0042 disp 'numbins param invalid, setting numbins to 2';
0043 numbins = 2;
0044 end
0045 else
0046 if (numfluxes <= 0)
0047 disp 'numfluxes param invalid, using numbins = 2 instead';
0048 numfluxes = 0;
0049 numbins = 2;
0050 else
0051
0052 if (numfluxes*numbins > npoints )
0053 disp 'both numfluxes and numbins params defined, using numfluxes param by default';
0054 numbins = 0;
0055 end
0056 end
0057 end
0058
0059
0060 if (numbins < 2)
0061 numbins = 2;
0062 end
0063
0064 if (numfluxes > 0)
0065
0066 if (numfluxes*numbins > npoints)
0067 numbins = floor(npoints/numfluxes);
0068 end
0069 if (numbins < 2)
0070 numbins = 2;
0071 numfluxes = floor(npoints/numbins);
0072 disp (sprintf('the number of bins is less than 2 for %d numfluxes and %d points in sample',numfluxes,npoints));
0073 disp (sprintf('setting the numfluxes to %d for 2 bins total',numfluxes));
0074 end
0075 else
0076
0077 numfluxes = floor(npoints/numbins);
0078 if (numfluxes < 100)
0079 numfluxes = 100;
0080 numbins = floor(npoints/numfluxes);
0081 disp (sprintf('given %d numbins for %d points, there are less than 100 numfluxes per bin',numbins,npoints));
0082 disp (sprintf('setting the numfluxes to 100 for %d bins total',numbins));
0083 end
0084 end
0085
0086 disp (sprintf('numfluxes: %d',numfluxes));
0087 disp (sprintf('numbins : %d',numbins));
0088
0089 glucose = rand(8,1);
0090 glucose = glucose/sum(glucose);
0091
0092
0093
0094
0095
0096
0097 glc = zeros(64,9);
0098 glc(1+1,1) = 1;
0099 glc(2+1,2) = 1;
0100 glc(4+1,3) = 1;
0101 glc(8+1,4) = 1;
0102 glc(16+1,5) = 1;
0103 glc(32+1,6) = 1;
0104 glc(32+16+1,7) = 1;
0105 glc(0+1,8) = 1;
0106 glc(63+1,9) = 1;
0107
0108
0109 xGlc = zeros(64,1);
0110 for i = 1:8
0111 xGlc = xGlc + glucose(i)*glc(:,i);
0112 end
0113
0114 xGlc = idv2cdv(6)*xGlc;
0115
0116 samps = [];
0117
0118 count = 1;
0119 for c = 1:numfluxes:(numfluxes*numbins)
0120 disp (sprintf('column %d',c));
0121 samps(count,1).points = samp.points(:,c:c+numfluxes-1);
0122 count = count+1;
0123 end
0124
0125
0126
0127
0128
0129
0130 output.samps = samps;
0131
0132
0133 return
0134 end