Changeset 197 for bdm/estim/mixef.h
- Timestamp:
- 11/04/08 14:54:33 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
bdm/estim/mixef.h
r193 r197 39 39 TODO: Extend BM to use rvc. 40 40 */ 41 class MixEF: public BM {41 class MixEF: public BMEF { 42 42 protected: 43 43 //!Number of components … … 69 69 //! Full constructor 70 70 MixEF ( const Array<BMEF*> &Coms0, const vec &alpha0 ) : 71 BM ( RV() ), n ( Coms0.length() ), Coms ( n ),71 BMEF ( RV() ), n ( Coms0.length() ), Coms ( n ), 72 72 weights ( RV ( "{w }", vec_1 ( n ) ),alpha0 ), method(QB) { 73 73 // it_assert_debug ( n>0,"MixEF::MixEF : Empty Component list" ); … … 76 76 build_est(); 77 77 }; 78 //! Constructor of empty mixture 78 79 MixEF () : 79 BM ( RV() ), n ( 0 ), Coms ( 0 ),80 BMEF ( RV() ), n ( 0 ), Coms ( 0 ), 80 81 weights ( RV ( "{w }", vec_1 ( 0 ) ),vec ( 0 ) ),method(QB) {build_est();} 82 //! Copy constructor 83 MixEF(const MixEF &M2): BMEF ( RV() ), n ( M2.n ), Coms ( n ), 84 weights ( M2.weights ), method(M2.method) { 85 // it_assert_debug ( n>0,"MixEF::MixEF : Empty Component list" ); 86 87 for ( int i=0;i<n;i++ ) {Coms ( i ) = M2.Coms ( i )->_copy_();} 88 build_est(); 89 } 81 90 //! Initializing the mixture by a random pick of centroids from data 82 91 //! \param Com0 Initial component - necessary to determine its type. … … 98 107 emix* predictor(const RV &rv); 99 108 //! Flatten the density as if it was not estimated from the data 100 void flatten( double sumw=1.0);109 void flatten(const BMEF* M2); 101 110 //! Access function 102 111 BMEF* _Coms(int i){return Coms(i);}