selMatrix

PURPOSE ^

selMatrix Create selection matrix from a selection vector

SYNOPSIS ^

function selMat = selMatrix(selVec)

DESCRIPTION ^

selMatrix Create selection matrix from a selection vector

 selMat = selMatrix(selVec)

 If selVec = [1 0 0 1 0 0]

 selMat = [1 0 0 0 0 0
            0 0 0 1 0 0]

 For reversible selections

 If selVec = [1 0 0 1 -1 0]

 selMat = [1 0 0 0  0 0
            0 0 0 1 -1 0]

 Markus Herrgard 3/28/03

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function selMat = selMatrix(selVec)
0002 %selMatrix Create selection matrix from a selection vector
0003 %
0004 % selMat = selMatrix(selVec)
0005 %
0006 % If selVec = [1 0 0 1 0 0]
0007 %
0008 % selMat = [1 0 0 0 0 0
0009 %            0 0 0 1 0 0]
0010 %
0011 % For reversible selections
0012 %
0013 % If selVec = [1 0 0 1 -1 0]
0014 %
0015 % selMat = [1 0 0 0  0 0
0016 %            0 0 0 1 -1 0]
0017 %
0018 % Markus Herrgard 3/28/03
0019 
0020 nVar = length(selVec);
0021 if (sum(selVec == -1) == 0)
0022     
0023     nSel = sum(selVec);
0024     isel = [1:nSel];
0025     jsel = find(selVec);
0026     selMat = sparse(isel,jsel,ones(nSel,1),nSel,nVar);
0027     
0028 else
0029     
0030     selFwInd = find(selVec == 1);
0031     selMat = sparse(length(selFwInd),nVar);
0032     for i = 1:length(selFwInd)
0033         selFwID = selFwInd(i);
0034         if (selVec(selFwID+1) == -1)
0035             selMat(i,selFwID) = 1;
0036             selMat(i,selFwID+1) = -1;
0037         else
0038             selMat(i,selFwID) = 1;    
0039         end
0040     end
0041     selMat = sparse(selMat);
0042     
0043 end

Generated on Thu 21-Jun-2012 15:39:23 by m2html © 2003