Changeset 938 in Sophya for trunk/SophyaLib/NTools
- Timestamp:
- Apr 14, 2000, 6:14:31 PM (25 years ago)
- Location:
- trunk/SophyaLib/NTools
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/NTools/generaldata.cc
r926 r938 722 722 if(varx<0 || varx>=mNVar) return -2.; 723 723 if(mNDataGood<=0) return -4.; 724 Vectorx(mNDataGood);725 Vectory(mNDataGood);726 Vectorey2(1);724 TVector<r_8> x(mNDataGood); 725 TVector<r_8> y(mNDataGood); 726 TVector<r_8> ey2(1); 727 727 if(ey) ey2.Realloc(mNDataGood,true); 728 728 int ntest = 0; … … 737 737 double res = 0.; 738 738 if(ey) { 739 Vectorerrcoef(1);739 TVector<r_8> errcoef(1); 740 740 res = pol.Fit(x,y,ey2,degre,errcoef); 741 741 } else { … … 771 771 if(vary<0 || vary>=mNVar || vary==varx) return -3.; 772 772 if(mNDataGood<=0) return -4.; 773 Vectorx(mNDataGood);774 Vectory(mNDataGood);775 Vectorz(mNDataGood);776 Vectorez2(1);773 TVector<r_8> x(mNDataGood); 774 TVector<r_8> y(mNDataGood); 775 TVector<r_8> z(mNDataGood); 776 TVector<r_8> ez2(1); 777 777 if(ez) ez2.Realloc(mNDataGood,true); 778 778 int ntest = 0; … … 788 788 double res = 0.; 789 789 if(ez) { 790 Vectorerrcoef(1);790 TVector<r_8> errcoef(1); 791 791 if(degre2>0) res = pol.Fit(x,y,z,ez2,degre1,degre2,errcoef); 792 792 else res = pol.Fit(x,y,z,ez2,degre1,errcoef); -
trunk/SophyaLib/NTools/generalfit.cc
r926 r938 797 797 Retourne les valeurs des parametres dans un vecteur. 798 798 */ 799 VectorGeneralFit::GetParm()799 TVector<r_8> GeneralFit::GetParm() 800 800 { 801 801 return Param; … … 1003 1003 { 1004 1004 volatile double oldChi2; 1005 MatrixCOVAR(mNPar,mNPar);1006 VectorDA(mNPar);1007 Vectordparam(mNPar);1008 VectorparamTry(mNPar);1009 Vectorparam_tr(mNPar);1010 VectorparamTry_tr(mNPar);1011 Vectorstep_tr(mNPar);1005 TMatrix<r_8> COVAR(mNPar,mNPar); 1006 TVector<r_8> DA(mNPar); 1007 TVector<r_8> dparam(mNPar); 1008 TVector<r_8> paramTry(mNPar); 1009 TVector<r_8> param_tr(mNPar); 1010 TVector<r_8> paramTry_tr(mNPar); 1011 TVector<r_8> step_tr(mNPar); 1012 1012 nStop = nStopL = nStep = 0; 1013 1013 Chi2 = oldChi2 = 0.; … … 1418 1418 1419 1419 ////////////////////////////////////////////////////////////////////// 1420 void GeneralFit::write_in_step(double ci2, Vector& par)1420 void GeneralFit::write_in_step(double ci2,TVector<r_8>& par) 1421 1421 { 1422 1422 if(FileStep==NULL) return; … … 1427 1427 1428 1428 ////////////////////////////////////////////////////////////////////// 1429 void GeneralFit::TryFunc( Vector& par,Vector& par_tr)1429 void GeneralFit::TryFunc(TVector<r_8>& par,TVector<r_8>& par_tr) 1430 1430 { 1431 1431 BETA_Try = 0; 1432 1432 ATGA_Try = 0; 1433 1433 Chi2 = 0; 1434 Vectorderiv(mNPar);1435 Vectorderivtr(mNPar);1434 TVector<r_8> deriv(mNPar); 1435 TVector<r_8> derivtr(mNPar); 1436 1436 double result; 1437 1437 … … 1467 1467 1468 1468 ////////////////////////////////////////////////////////////////////// 1469 void GeneralFit::TryXi2( Vector& par,Vector& par_tr)1469 void GeneralFit::TryXi2(TVector<r_8>& par,TVector<r_8>& par_tr) 1470 1470 { 1471 1471 double c, *parloc; … … 1575 1575 1576 1576 ////////////////////////////////////////////////////////////////////// 1577 Vector GeneralFit::p_vers_tr(Vectorconst& p)1578 { 1579 Vectortr(p);1577 TVector<r_8> GeneralFit::p_vers_tr(TVector<r_8> const& p) 1578 { 1579 TVector<r_8> tr(p); 1580 1580 for(int i=0;i<mNPar;i++) { 1581 1581 if( fixParam[i] || ! boundParam[i] ) continue; … … 1586 1586 1587 1587 ////////////////////////////////////////////////////////////////////// 1588 void GeneralFit::p_vers_tr( Vector const& p,Vector& tr)1588 void GeneralFit::p_vers_tr(TVector<r_8> const& p,TVector<r_8>& tr) 1589 1589 { 1590 1590 for(int i=0;i<mNPar;i++) { … … 1610 1610 1611 1611 ////////////////////////////////////////////////////////////////////// 1612 Vector GeneralFit::tr_vers_p(Vectorconst& tr)1613 { 1614 Vectorp(tr);1612 TVector<r_8> GeneralFit::tr_vers_p(TVector<r_8> const& tr) 1613 { 1614 TVector<r_8> p(tr); 1615 1615 for(int i=0;i<mNPar;i++) { 1616 1616 if( fixParam[i] || ! boundParam[i] ) continue; … … 1621 1621 1622 1622 ////////////////////////////////////////////////////////////////////// 1623 void GeneralFit::tr_vers_p( Vector const& tr,Vector& p)1623 void GeneralFit::tr_vers_p(TVector<r_8> const& tr,TVector<r_8>& p) 1624 1624 { 1625 1625 for(int i=0;i<mNPar;i++) { … … 1646 1646 1647 1647 ////////////////////////////////////////////////////////////////////// 1648 Vector GeneralFit::dp_vers_dtr(Vector const& dp,Vectorconst& tr)1649 { 1650 Vectordtr(dp);1648 TVector<r_8> GeneralFit::dp_vers_dtr(TVector<r_8> const& dp,TVector<r_8> const& tr) 1649 { 1650 TVector<r_8> dtr(dp); 1651 1651 for(int i=0;i<mNPar;i++) { 1652 1652 if( fixParam[i] || ! boundParam[i] ) continue; … … 1657 1657 1658 1658 ////////////////////////////////////////////////////////////////////// 1659 void GeneralFit::dp_vers_dtr( Vector const& dp,Vector const& tr,Vector& dtr)1659 void GeneralFit::dp_vers_dtr(TVector<r_8> const& dp,TVector<r_8> const& tr,TVector<r_8>& dtr) 1660 1660 { 1661 1661 for(int i=0;i<mNPar;i++) { … … 1682 1682 1683 1683 ////////////////////////////////////////////////////////////////////// 1684 Vector GeneralFit::dtr_vers_dp(Vector const& dtr,Vectorconst& tr)1685 { 1686 Vectordp(dtr);1684 TVector<r_8> GeneralFit::dtr_vers_dp(TVector<r_8> const& dtr,TVector<r_8> const& tr) 1685 { 1686 TVector<r_8> dp(dtr); 1687 1687 for(int i=0;i<mNPar;i++) { 1688 1688 if( fixParam[i] || ! boundParam[i] ) continue; … … 1694 1694 ////////////////////////////////////////////////////////////////////// 1695 1695 // inline fonction pour aller + vite dans le try() 1696 //void GeneralFit::dtr_vers_dp( Vector const& dtr,Vector const& tr,Vector& dp)1696 //void GeneralFit::dtr_vers_dp(TVector<r_8> const& dtr,TVector<r_8> const& tr,TVector<r_8>& dp) 1697 1697 1698 1698 ////////////////////////////////////////////////////////////////////// … … 1706 1706 \endverbatim 1707 1707 */ 1708 int GeneralFit::put_in_limits_for_deriv( Vector const& p,Vector& dp,double dist)1708 int GeneralFit::put_in_limits_for_deriv(TVector<r_8> const& p,TVector<r_8>& dp,double dist) 1709 1709 { 1710 1710 int nchanged = 0; -
trunk/SophyaLib/NTools/generalfit.h
r926 r938 138 138 139 139 double GetParm(int); 140 VectorGetParm();140 TVector<r_8> GetParm(); 141 141 double GetParmErr(int); 142 142 double GetCoVar(int,int); … … 195 195 GeneralFitData* mData; 196 196 197 VectorParam;198 VectorerrParam;199 VectorstepParam;200 VectorminParam;201 VectormaxParam;202 VectorminStepDeriv;203 VectorEps;197 TVector<r_8> Param; 198 TVector<r_8> errParam; 199 TVector<r_8> stepParam; 200 TVector<r_8> minParam; 201 TVector<r_8> maxParam; 202 TVector<r_8> minStepDeriv; 203 TVector<r_8> Eps; 204 204 unsigned short int* fixParam; 205 205 unsigned short int* boundParam; … … 215 215 FILE *FileStep; 216 216 217 MatrixATGA;218 VectorBETA;219 MatrixATGA_Try;220 VectorBETA_Try;221 VectorC;222 VectorD;217 TMatrix<r_8> ATGA; 218 TVector<r_8> BETA; 219 TMatrix<r_8> ATGA_Try; 220 TVector<r_8> BETA_Try; 221 TVector<r_8> C; 222 TVector<r_8> D; 223 223 224 224 double Chi2; … … 229 229 230 230 // Fonctions privees 231 void write_in_step(double ci2,Vector& par);232 void General_Init(void);233 void TryFunc(Vector& par,Vector& par_tr);234 void TryXi2(Vector& par,Vector& par_tr);235 void CheckSanity();236 void Set_Bound_C_D(int i);237 void Set_Bound_C_D();238 double p_vers_tr(int i,double p);239 Vector p_vers_tr(Vectorconst& p);240 void p_vers_tr(Vector const& p,Vector& tr);241 double tr_vers_p(int i,double tr);242 Vector tr_vers_p(Vectorconst& tr);243 void tr_vers_p(Vector const& tr,Vector& p);244 double c_dp_vers_dtr(int i,double tr);245 Vector dp_vers_dtr(Vector const& dp,Vectorconst& tr);246 void dp_vers_dtr( Vector const& dp,Vector const& tr,Vector& dtr);247 double c_dtr_vers_dp(int i,double tr);248 Vector dtr_vers_dp(Vector const& dtr,Vectorconst& tr);249 int put_in_limits_for_deriv(Vector const& p,Vector& dp,double dist=0.66);250 inline void dtr_vers_dp( Vector const& dtr,Vector const& tr,Vector& dp)231 void write_in_step(double ci2,TVector<r_8>& par); 232 void General_Init(void); 233 void TryFunc(TVector<r_8>& par,TVector<r_8>& par_tr); 234 void TryXi2(TVector<r_8>& par,TVector<r_8>& par_tr); 235 void CheckSanity(); 236 void Set_Bound_C_D(int i); 237 void Set_Bound_C_D(); 238 double p_vers_tr(int i,double p); 239 TVector<r_8> p_vers_tr(TVector<r_8> const& p); 240 void p_vers_tr(TVector<r_8> const& p,TVector<r_8>& tr); 241 double tr_vers_p(int i,double tr); 242 TVector<r_8> tr_vers_p(TVector<r_8> const& tr); 243 void tr_vers_p(TVector<r_8> const& tr,TVector<r_8>& p); 244 double c_dp_vers_dtr(int i,double tr); 245 TVector<r_8> dp_vers_dtr(TVector<r_8> const& dp,TVector<r_8> const& tr); 246 void dp_vers_dtr(TVector<r_8> const& dp,TVector<r_8> const& tr,TVector<r_8>& dtr); 247 double c_dtr_vers_dp(int i,double tr); 248 TVector<r_8> dtr_vers_dp(TVector<r_8> const& dtr,TVector<r_8> const& tr); 249 int put_in_limits_for_deriv(TVector<r_8> const& p,TVector<r_8>& dp,double dist=0.66); 250 inline void dtr_vers_dp(TVector<r_8> const& dtr,TVector<r_8> const& tr,TVector<r_8>& dp) 251 251 { for(int i=0;i<mNPar;i++) 252 252 { if( fixParam[i] ) continue; -
trunk/SophyaLib/NTools/poly.cc
r805 r938 31 31 32 32 Poly::Poly(int degre) 33 : Vector(degre+1), dirty(0), deg(0)33 : TVector<r_8>(degre+1), dirty(0), deg(0) 34 34 { 35 35 END_CONSTRUCTOR … … 41 41 // Constructeur par copie. 42 42 //-- 43 : Vector(a), dirty(a.dirty), deg(a.deg)43 :TVector<r_8>(a), dirty(a.dirty), deg(a.deg) 44 44 { 45 45 END_CONSTRUCTOR … … 111 111 112 112 //++ 113 int Poly::Roots( Vector& roots) const113 int Poly::Roots(TVector<r_8>& roots) const 114 114 // 115 115 // Retourne dans roots les racines réelles, si on sait … … 179 179 { 180 180 if (this == &a) return *this; 181 Vector::operator=(a);181 TVector<r_8>::operator=(a); 182 182 183 183 UpdateDeg(); … … 275 275 276 276 //++ 277 double Poly::Fit( Vector const& x, Vectorconst& y, int degre)277 double Poly::Fit(TVector<r_8> const& x, TVector<r_8> const& y, int degre) 278 278 // 279 279 // Ajustement polynomial par moindre carrés. Un polynôme de … … 287 287 Realloc(degre); 288 288 289 Matrixa(degre+1, n);289 TMatrix<r_8> a(degre+1, n); 290 290 291 291 for (int c=0; c<n; c++) { … … 297 297 } 298 298 299 LinFitter lf;300 double rc = lf.LinFit(a,y,( Vector&)*this);299 LinFitter<r_8> lf; 300 double rc = lf.LinFit(a,y,(TVector<r_8>&)*this); 301 301 UpdateDeg(); 302 302 return rc; … … 304 304 305 305 //++ 306 double Poly::Fit( Vector const& x, Vector const& y, Vector const& erry2, int degre,307 Vector& errCoef)306 double Poly::Fit(TVector<r_8> const& x, TVector<r_8> const& y, 307 TVector<r_8> const& erry2, int degre,TVector<r_8>& errCoef) 308 308 // 309 309 // Ajustement polynomial par moindre carrés. Un polynôme de … … 320 320 errCoef.Realloc(degre+1); 321 321 322 Matrixa(degre+1, n);322 TMatrix<r_8> a(degre+1, n); 323 323 324 324 for (int c=0; c<n; c++) { … … 330 330 } 331 331 332 LinFitter lf;333 double rc = lf.LinFit(a,y,erry2,( Vector&)*this,errCoef);332 LinFitter<r_8> lf; 333 double rc = lf.LinFit(a,y,erry2,(TVector<r_8>&)*this,errCoef); 334 334 UpdateDeg(); 335 335 return rc; … … 371 371 is >> dg; 372 372 dobj->Realloc(dg,true); 373 is >> *(( Vector*) dobj);373 is >> *((TVector<r_8> *) dobj); 374 374 dobj->UpdateDeg(); 375 375 } … … 381 381 dobj->Realloc(dobj->deg,true); 382 382 os << dobj->deg; 383 os << *(( Vector*) dobj);383 os << *((TVector<r_8> *) dobj); 384 384 } 385 385 … … 417 417 // Crée un polynôme de degrés partiels degreX et degreY. 418 418 //-- 419 : Vector((degreX+1)*(degreY+1)), dirty(0),419 :TVector<r_8>((degreX+1)*(degreY+1)), dirty(0), 420 420 maxDegX(degreX), maxDegY(degreY), degX(0), degY(0), deg(0) 421 421 { … … 429 429 // de deux polynômes à une variable, p2(x,y)=px(x)py(y) 430 430 //-- 431 : Vector((polX.Degre()+1)*(polY.Degre()+1)), dirty(0),431 :TVector<r_8>((polX.Degre()+1)*(polY.Degre()+1)), dirty(0), 432 432 maxDegX(polX.Degre()), maxDegY(polY.Degre()), 433 433 degX(polX.Degre()), degY(polY.Degre()), deg(degX+degY) … … 444 444 // Constructeur par copie. 445 445 //-- 446 : Vector(a), dirty(a.dirty),446 :TVector<r_8>(a), dirty(a.dirty), 447 447 maxDegX(a.maxDegX), maxDegY(a.maxDegY), 448 448 degX(a.degX), degY(a.degY), deg(a.deg) … … 484 484 UpdateDegIfDirty(); 485 485 Poly2 tmp(*this); 486 Vector::Realloc((degreX+1)*(degreY+1));486 TVector<r_8>::Realloc((degreX+1)*(degreY+1)); 487 487 DataBlock().Reset(); 488 488 maxDegX = degreX; … … 554 554 555 555 //++ 556 double Poly2::Fit( Vector const& x, Vector const& y, Vector const& z,557 int degreX, int degreY)556 double Poly2::Fit(TVector<r_8> const& x, TVector<r_8> const& y, 557 TVector<r_8> const& z, int degreX, int degreY) 558 558 // 559 559 // Ajustement par moindre carrés z = P(x,y), degrés partiels imposés. … … 566 566 Realloc(degreX, degreY); 567 567 568 Matrixa((degreX+1)*(degreY+1), n);568 TMatrix<r_8> a((degreX+1)*(degreY+1), n); 569 569 570 570 for (int c=0; c<n; c++) { … … 580 580 } 581 581 582 LinFitter lf;583 double rc = lf.LinFit(a,z,( Vector&)*this);582 LinFitter<r_8> lf; 583 double rc = lf.LinFit(a,z,(TVector<r_8>&)*this); 584 584 UpdateDeg(); 585 585 return rc; … … 588 588 589 589 //++ 590 double Poly2::Fit( Vector const& x, Vector const& y, Vectorconst& z,591 Vectorconst& errz2, int degreX, int degreY,592 Vector& errCoef)590 double Poly2::Fit(TVector<r_8> const& x, TVector<r_8> const& y, TVector<r_8> const& z, 591 TVector<r_8> const& errz2, int degreX, int degreY, 592 TVector<r_8>& errCoef) 593 593 // 594 594 // Ajustement par moindre carrés z = P(x,y), degrés partiels imposés, … … 604 604 errCoef.Realloc((degreX+1)*(degreY+1)); 605 605 606 Matrixa((degreX+1)*(degreY+1), n);606 TMatrix<r_8> a((degreX+1)*(degreY+1), n); 607 607 608 608 for (int c=0; c<n; c++) { … … 618 618 } 619 619 620 LinFitter lf;621 double rc = lf.LinFit(a,z,errz2,( Vector&)*this,errCoef);620 LinFitter<r_8> lf; 621 double rc = lf.LinFit(a,z,errz2,(TVector<r_8>&)*this,errCoef); 622 622 UpdateDeg(); 623 623 return rc; … … 625 625 626 626 //++ 627 double Poly2::Fit( Vector const& x, Vector const& y, Vector const& z,628 int degre)627 double Poly2::Fit(TVector<r_8> const& x, TVector<r_8> const& y, 628 TVector<r_8> const& z, int degre) 629 629 // 630 630 // Ajustement par moindre carrés z = P(x,y), degré total imposé. … … 637 637 Realloc(degre, degre); // certains vaudront 0, impose. 638 638 639 Matrixa((degre+1)*(degre+2)/2, n);640 Vectorcf((degre+1)*(degre+2)/2);639 TMatrix<r_8> a((degre+1)*(degre+2)/2, n); 640 TVector<r_8> cf((degre+1)*(degre+2)/2); 641 641 #define C_INDEX(i,j) ((i) + (j)*(2*degre+3-(j))/2) 642 642 … … 654 654 } 655 655 656 LinFitter lf;656 LinFitter<r_8> lf; 657 657 double rc = lf.LinFit(a,z,cf); 658 658 … … 670 670 671 671 //++ 672 double Poly2::Fit( Vector const& x, Vector const& y, Vector const& z,673 Vector const& errz2, int degre,674 Vector& errCoef)672 double Poly2::Fit(TVector<r_8> const& x, TVector<r_8> const& y, 673 TVector<r_8> const& z,TVector<r_8> const& errz2, 674 int degre, TVector<r_8>& errCoef) 675 675 // 676 676 // Ajustement par moindre carrés z = P(x,y), degré total imposé, … … 687 687 #define C_INDEX(i,j) ((i) + (j)*(2*degre+3-(j))/2) 688 688 689 Matrixa((degre+1)*(degre+2)/2, n);690 Vectorcf((degre+1)*(degre+2)/2);691 Vectorecf((degre+1)*(degre+2)/2);689 TMatrix<r_8> a((degre+1)*(degre+2)/2, n); 690 TVector<r_8> cf((degre+1)*(degre+2)/2); 691 TVector<r_8> ecf((degre+1)*(degre+2)/2); 692 692 693 693 for (int c=0; c<n; c++) { … … 704 704 } 705 705 706 LinFitter lf;706 LinFitter<r_8> lf; 707 707 double rc = lf.LinFit(a,z,errz2,cf,ecf); 708 708 … … 875 875 is >> dgx >> dgy; 876 876 dobj->Realloc(dgx,dgy); 877 is >> *(( Vector*) dobj);877 is >> *((TVector<r_8> *) dobj); 878 878 dobj->UpdateDeg(); 879 879 } … … 883 883 if(dobj == NULL) return; 884 884 os << dobj->maxDegX << dobj->maxDegY; 885 os << *(( Vector*) dobj);885 os << *((TVector<r_8> *) dobj); 886 886 } 887 887 -
trunk/SophyaLib/NTools/poly.h
r852 r938 1 1 // This may look like C code, but it is really -*- C++ -*- 2 2 // 3 // $Id: poly.h,v 1. 6 2000-04-10 12:59:45ansari Exp $3 // $Id: poly.h,v 1.7 2000-04-14 16:14:31 ansari Exp $ 4 4 // 5 5 … … 21 21 22 22 ////////////////////////////////////////////////////////////////////////// 23 class Poly : public Vector{23 class Poly : public TVector<r_8> { 24 24 friend class ObjFileIO<Poly>; 25 25 public: … … 29 29 inline int Degre() const {UpdateDegIfDirty(); return deg;} 30 30 31 inline void Realloc(int n, bool force=false) {Vector::Realloc(n+1,force);} 31 inline void Realloc(int n, bool force=false) 32 {TVector<r_8>::Realloc(n+1,force);} 32 33 33 34 // Pour compatibilite PEIDA - Reza 03/2000 … … 48 49 // Derive le polynome dans un autre 49 50 50 int Roots( Vector& roots) const;51 int Roots(TVector<r_8>& roots) const; 51 52 // retourne les racines si on peut les calculer... 52 53 … … 71 72 void Print(ostream& s, int_4 maxprt=-1, bool si=false) const; 72 73 73 double Fit( Vector const& x, Vectorconst& y, int degre);74 double Fit(TVector<r_8> const& x, TVector<r_8> const& y, int degre); 74 75 // Fit d'un polynome de degre donne sur les x et y. 75 76 76 double Fit( Vector const& x, Vector const& y, Vector const& erry2, int degre,77 Vector& errCoef);77 double Fit(TVector<r_8> const& x, TVector<r_8> const& y, 78 TVector<r_8> const& erry2, int degre, TVector<r_8>& errCoef); 78 79 // En plus, on fournit les carres des erreurs sur y et on a les erreurs 79 80 // sur les coefficients dans un vecteur. … … 115 116 116 117 ////////////////////////////////////////////////////////////////////////// 117 class Poly2 : public Vector{118 class Poly2 : public TVector<r_8> { 118 119 friend class ObjFileIO<Poly2>; 119 120 public: … … 154 155 // retourne le coefficient de degre (dx,dy) 155 156 156 double Fit( Vector const& x, Vector const& y, Vectorconst& z,157 double Fit(TVector<r_8> const& x, TVector<r_8> const& y, TVector<r_8> const& z, 157 158 int degreX, int degreY); 158 double Fit( Vector const& x, Vector const& y, Vectorconst& z,159 Vectorconst& errz2, int degreX, int degreY,160 Vector& errCoef);159 double Fit(TVector<r_8> const& x, TVector<r_8> const& y, TVector<r_8> const& z, 160 TVector<r_8> const& errz2, int degreX, int degreY, 161 TVector<r_8>& errCoef); 161 162 // degres partiels imposes. cf Poly::Fit sinon 162 163 163 164 164 double Fit( Vector const& x, Vector const& y, Vectorconst& z,165 double Fit(TVector<r_8> const& x, TVector<r_8> const& y, TVector<r_8> const& z, 165 166 int degre); 166 double Fit( Vector const& x, Vector const& y, Vectorconst& z,167 Vectorconst& errz2, int degre,168 Vector& errCoef);167 double Fit(TVector<r_8> const& x, TVector<r_8> const& y, TVector<r_8> const& z, 168 TVector<r_8> const& errz2, int degre, 169 TVector<r_8>& errCoef); 169 170 // degre total impose. cf Poly::Fit sinon 170 171
Note:
See TracChangeset
for help on using the changeset viewer.