Home > analyzePRF > utilities > chunking.m

chunking

PURPOSE ^

function f = chunking(v,num)

SYNOPSIS ^

function varargout = chunking(varargin)

DESCRIPTION ^

 function f = chunking(v,num)

 <v> is a vector
 <num> is desired length of a chunk

 return a cell vector of chunks.  the last vector 
 may have fewer than <num> elements.

 example:
 isequal(chunking(1:5,3),{1:3 4:5})

 OR
 
 function [f,xbegin,xend] = chunking(v,num,n)

 <v> is a vector
 <num> is length of a chunk
 <n> is chunk number desired

 return the desired chunk in <f>.
 also return the beginning and ending indices associated with 
 this chunk in <xbegin> and <xend>.

 example:
 isequal(chunking([4 2 3],2,2),3)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function varargout = chunking(varargin)
0002 
0003 % function f = chunking(v,num)
0004 %
0005 % <v> is a vector
0006 % <num> is desired length of a chunk
0007 %
0008 % return a cell vector of chunks.  the last vector
0009 % may have fewer than <num> elements.
0010 %
0011 % example:
0012 % isequal(chunking(1:5,3),{1:3 4:5})
0013 %
0014 % OR
0015 %
0016 % function [f,xbegin,xend] = chunking(v,num,n)
0017 %
0018 % <v> is a vector
0019 % <num> is length of a chunk
0020 % <n> is chunk number desired
0021 %
0022 % return the desired chunk in <f>.
0023 % also return the beginning and ending indices associated with
0024 % this chunk in <xbegin> and <xend>.
0025 %
0026 % example:
0027 % isequal(chunking([4 2 3],2,2),3)
0028 
0029 switch length(varargin)
0030 
0031 case 2
0032   v = varargin{1};
0033   num = varargin{2};
0034   
0035   f = {};
0036   for p=1:ceil(length(v)/num)
0037     f{p} = v((p-1)*num+1 : min(length(v),p*num));
0038   end
0039   
0040   varargout = {f};
0041 
0042 case 3
0043   v = varargin{1};
0044   num = varargin{2};
0045   n = varargin{3};
0046   
0047   xbegin = (n-1)*num+1;
0048   xend = min(length(v),n*num);
0049   f = v(xbegin:xend);
0050   
0051   varargout = {f xbegin xend};
0052 
0053 end

Generated on Wed 18-Jun-2014 21:47:41 by m2html © 2005