Changeset 301 in Sophya for trunk/SophyaLib


Ignore:
Timestamp:
May 18, 1999, 2:23:15 PM (26 years ago)
Author:
ansari
Message:

cmv 18/5/99

Location:
trunk/SophyaLib/NTools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/tmatrix.cc

    r299 r301  
    1 // $Id: tmatrix.cc,v 1.5 1999-05-17 17:16:43 ansari Exp $
     1// $Id: tmatrix.cc,v 1.6 1999-05-18 12:23:13 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "machdefs.h"
     
    6666TMatrix<T> a; a.Clone(*this); a.SetTemp(true);
    6767a.mNr = mNc; a.mNc = mNr;
    68 {for(int i=0; i<mNr; i++)
    69   for(int j=0; j<mNc; j++) {
     68{for(uint_4 i=0; i<mNr; i++)
     69  for(uint_4 j=0; j<mNc; j++) {
    7070    a(j,i) = (*this)(i,j);
    7171}}
     
    187187//////////////////////////////////////////////////////////
    188188//**** Residus des fits
    189 TMatrix<r_8> TMatrix<r_8>::FitResidus(GeneralFit& gfit)
    190 //      Retourne une classe contenant les residus du fit ``gfit''.
    191 //      On suppose que x=j (colonnes) et y=i (lignes) pour m(i,j).
     189TMatrix<r_8> TMatrix<r_8>::FitResidus(GeneralFit& gfit
     190            ,double xorg,double yorg,double dx,double dy)
     191// Retourne une classe contenant les residus du fit ``gfit''.
     192// On suppose que x=j (colonnes) et y=i (lignes) pour m(i,j).
     193// Les coordonnees de l'element (i,j) sont :
     194//    (i,j) -> x = xorg+j*dx , y = yorg+i*dy
    192195{
    193196if(NCols()<=0||NRows()<=0)
     
    202205{for(int i=0;i<npar;i++) par[i] = gfit.GetParm(i);}
    203206TMatrix<r_8> m(*this);
    204 for(int i=0;i<NRows();i++) for(int j=0;j<NCols();j++) {
    205   double x[2] = {(double)j,(double)i}; // attention x=col y=row!!
     207for(uint_4 i=0;i<NRows();i++) for(uint_4 j=0;j<NCols();j++) {
     208  double x[2] = {xorg+j*dx,yorg+i*dy};
    206209  m(i,j) -= f->Value(x,par);
    207210}
     
    210213}
    211214
    212 TMatrix<r_8> TMatrix<r_8>::FitFunction(GeneralFit& gfit)
    213 //      Retourne une classe contenant la fonction du fit ``gfit''.
    214 //      On suppose que x=j (colonnes) et y=i (lignes) pour m(i,j).
     215TMatrix<r_8> TMatrix<r_8>::FitFunction(GeneralFit& gfit
     216            ,double xorg,double yorg,double dx,double dy)
     217// Retourne une classe contenant la fonction du fit ``gfit''.
     218// On suppose que x=j (colonnes) et y=i (lignes) pour m(i,j).
     219// Les coordonnees de l'element (i,j) sont :
     220//    (i,j) -> x = xorg + j*dx , y = yorg + i*dy
    215221{
    216222if(NCols()<=0||NRows()<=0)
     
    225231{for(int i=0;i<npar;i++) par[i] = gfit.GetParm(i);}
    226232TMatrix<r_8> m(*this);
    227 for(int i=0;i<NRows();i++) for(int j=0;j<NCols();j++) {
    228   double x[2] = {(double)j,(double)i};
     233for(uint_4 i=0;i<NRows();i++) for(uint_4 j=0;j<NCols();j++) {
     234  double x[2] = {xorg+j*dx,yorg+i*dy};
    229235  m(i,j) = f->Value(x,par);
    230236}
  • trunk/SophyaLib/NTools/tmatrix.h

    r299 r301  
    100100
    101101  // Residus et fonction fittees.
    102   TMatrix<T> FitResidus(GeneralFit& gfit);
    103   TMatrix<T> FitFunction(GeneralFit& gfit);
     102  TMatrix<T> FitResidus(GeneralFit& gfit
     103            ,double xorg=0.,double yorg=0.,double dx=1.,double dy=1.);
     104  TMatrix<T> FitFunction(GeneralFit& gfit
     105            ,double xorg=0.,double yorg=0.,double dx=1.,double dy=1.);
    104106
    105107protected:
  • trunk/SophyaLib/NTools/tvector.cc

    r299 r301  
    1 // $Id: tvector.cc,v 1.1 1999-05-17 17:16:44 ansari Exp $
     1// $Id: tvector.cc,v 1.2 1999-05-18 12:23:15 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "machdefs.h"
     
    5353//////////////////////////////////////////////////////////
    5454//**** Residus des fits
    55 TVector<r_8> TVector<r_8>::FitResidus(GeneralFit& gfit)
    56 //      Retourne une classe contenant les residus du fit ``gfit''.
    57 //      On suppose que x=i.
     55TVector<r_8> TVector<r_8>::FitResidus(GeneralFit& gfit,double xorg,double dx)
     56// Retourne une classe contenant les residus du fit ``gfit''.
     57// La coordonnee de l'element (i) est -> x = xorg + i*dx
    5858{
    5959if(NElts()<=0)
     
    6969TVector<r_8> v(*this);
    7070for(int i=0;i<NElts();i++) {
    71   double x = (double)i;
     71  double x = xorg+i*dx;
    7272  v(i) -= f->Value(&x,par);
    7373}
     
    7676}
    7777
    78 TVector<r_8> TVector<r_8>::FitFunction(GeneralFit& gfit)
    79 //      Retourne une classe contenant la fonction du fit ``gfit''.
    80 //      On suppose que x=i.
     78TVector<r_8> TVector<r_8>::FitFunction(GeneralFit& gfit,double xorg,double dx)
     79// Retourne une classe contenant la fonction du fit ``gfit''.
     80// La coordonnee de l'element (i) est -> x = xorg + i*dx
    8181{
    8282if(NElts()<=0)
     
    9191{for(int i=0;i<npar;i++) par[i] = gfit.GetParm(i);}
    9292TVector<r_8> v(*this);
    93 for(int i=0;i<NElts();i++) {
    94   double x = (double)i;
     93for(uint_4 i=0;i<NElts();i++) {
     94  double x = xorg+i*dx;
    9595  v(i) = f->Value(&x,par);
    9696}
  • trunk/SophyaLib/NTools/tvector.h

    r299 r301  
    3737
    3838  // Residus et fonction fittees.
    39   TVector<T> FitResidus(GeneralFit& gfit);
    40   TVector<T> FitFunction(GeneralFit& gfit);
     39  TVector<T> FitResidus(GeneralFit& gfit,double xorg=0.,double dx=1.);
     40  TVector<T> FitFunction(GeneralFit& gfit,double xorg=0.,double dx=1.);
    4141
    4242};
Note: See TracChangeset for help on using the changeset viewer.