Home > Codi > PLS2PCA.m

PLS2PCA

PURPOSE ^

Funció per convertir una estructura de dades de la PLSToolbox en un

SYNOPSIS ^

function obj = PLS2PCA( struct ,vars , temps)

DESCRIPTION ^

 Funció per convertir una estructura de dades de la PLSToolbox en un
 objecte PCA. La Pls toolbox per defecte no guarda les dades originals del
 proces, per tant perque aquest metode funcióni corrctament caldra que
 avans de guardar l'estructura amb la PLS Toolbox forçem que guardi totes
 les dades possibles. Tot i aixó no sempre es pot aconseguir fer la
 converssió ja que totes les configuracións possibles a PCa no tenen
 equivalents a la PLS toolbox ni totes les de la PLS toolbox tenen
 equivalents a PCA.

 Parametres d'entrada

      struct - Una estructura de dades de PLS Toolbox, Cal forçar que
               guardi totes les dades possibles, si no no es pot fer la
               converssió!
      
      vars - El nombre de variables que te el nostre proces (la toolbox no
             ho guarda) 

      temps - el nombre d'instants de temps que te el nostre procés (la
              tolbox no ho guarda) 

 Parametres de sortida

      obj - Si la conversió és possible, objecte PCA equivalent a
            l'estructura struct

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function obj = PLS2PCA( struct ,vars , temps)
0002 % Funció per convertir una estructura de dades de la PLSToolbox en un
0003 % objecte PCA. La Pls toolbox per defecte no guarda les dades originals del
0004 % proces, per tant perque aquest metode funcióni corrctament caldra que
0005 % avans de guardar l'estructura amb la PLS Toolbox forçem que guardi totes
0006 % les dades possibles. Tot i aixó no sempre es pot aconseguir fer la
0007 % converssió ja que totes les configuracións possibles a PCa no tenen
0008 % equivalents a la PLS toolbox ni totes les de la PLS toolbox tenen
0009 % equivalents a PCA.
0010 %
0011 % Parametres d'entrada
0012 %
0013 %      struct - Una estructura de dades de PLS Toolbox, Cal forçar que
0014 %               guardi totes les dades possibles, si no no es pot fer la
0015 %               converssió!
0016 %
0017 %      vars - El nombre de variables que te el nostre proces (la toolbox no
0018 %             ho guarda)
0019 %
0020 %      temps - el nombre d'instants de temps que te el nostre procés (la
0021 %              tolbox no ho guarda)
0022 %
0023 % Parametres de sortida
0024 %
0025 %      obj - Si la conversió és possible, objecte PCA equivalent a
0026 %            l'estructura struct
0027 %
0028 %
0029 
0030 %creem un objecte DATA on hi anirem posan totes les dades i posteriorment
0031 %crearem el model
0032 dad = DATA();
0033 
0034 %comprobem si l'objecte struct te les dades que necessitemper fer la
0035 %conversió, en cas contrari mostrarem error a l'usuari
0036 if isempty(struct.detail.data{1}) || isempty(struct.detail.data{1}.data)
0037     error('Has de guardar l''objecte PLS forçant guardar totes les dades');
0038 end
0039 
0040 %Com a nom de les dades posem el camp autor
0041 dad.setName(struct.author);
0042 
0043 %Calculem el nombre de lots que tenim
0044 lots =size(struct.detail.data{1}.data,1);
0045 
0046 %la toolbox guarda les dades en BW i nosatlresen 3D necessitem saber les
0047 %dimencions originals per poder desfer l'unfolding amb la funcio serdataBW
0048 dad.setRawDataBW(struct.detail.data{1}.data,vars,temps,lots);
0049 
0050 %afegim les classes
0051 dad.setClass(struct.detail.class{1,1});
0052 
0053 %creem l'objecte PCA amb configuracións per defecte
0054 obj = PCA(dad);
0055 
0056 %si la PLS toolbox tenia una configuració convertivle l'apliquem, si no
0057 %deixem la configuració per defecte.
0058 if strcmp(struct.detail.preprocessing{1,1}.description,'Autoscale')
0059     obj.setPCSelectionMethod(1);
0060 end
0061 if strcmp(struct.detail.preprocessing{1,1}.description,'Grupscale')
0062     obj.setPCSelectionMethod(2);
0063 end
0064 end
0065

Generated on Wed 12-Sep-2012 13:03:54 by m2html © 2005