Home > source > generateHomogeneousStateRecursive.m

generateHomogeneousStateRecursive

PURPOSE ^

This function in necessary for generateHomogeneousState to calculate the homogeneous state vector.

SYNOPSIS ^

function [ hState ] = generateHomogeneousStateRecursive( m, x, varNumber, vect, threshold, hState )

DESCRIPTION ^

This function in necessary for generateHomogeneousState to calculate the homogeneous state vector.

This function in necessary for generateHomogeneousState to calculate the
homogeneous state vector.

Prototype: [hState] = generateHomogeneousStateRecursive(m, x, varNumber, vect, threshold, hState)

Input:     m - Dimension of the state vector x in homogeneous form.
           x - State vector
           varNumber - 
           vect - Vector that contains the degree of the #varNumber
                  variables to crate
           threshold - Number that decrease degree of next homogeneous
                       monomial variable to create
           hState - Homogeneous state vector

Output:    hState - Homogeneous state vector

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %This function in necessary for generateHomogeneousState to calculate the homogeneous state vector.
0002 %
0003 %This function in necessary for generateHomogeneousState to calculate the
0004 %homogeneous state vector.
0005 %
0006 %Prototype: [hState] = generateHomogeneousStateRecursive(m, x, varNumber, vect, threshold, hState)
0007 %
0008 %Input:     m - Dimension of the state vector x in homogeneous form.
0009 %           x - State vector
0010 %           varNumber -
0011 %           vect - Vector that contains the degree of the #varNumber
0012 %                  variables to crate
0013 %           threshold - Number that decrease degree of next homogeneous
0014 %                       monomial variable to create
0015 %           hState - Homogeneous state vector
0016 %
0017 %Output:    hState - Homogeneous state vector
0018 
0019 function [ hState ] = generateHomogeneousStateRecursive( m, x, varNumber, vect, threshold, hState )
0020 
0021 for i = (m-threshold):-1:0
0022     vect(varNumber) = i;
0023     if sum(vect) == m
0024         if hState(1) == -1
0025             hState = prod(x.^vect);
0026         else
0027             hState(length(hState)+1, 1) = prod(x.^vect);
0028         end
0029     else
0030         if varNumber < length(x)
0031             hState = generateHomogeneousStateRecursive( m, x, varNumber+1, vect, threshold+i, hState );
0032         end
0033     end
0034 end
0035 
0036 return;
0037 
0038 end
0039

Generated on Thu 24-Sep-2009 17:17:32 by m2html © 2005