Home | Develop | Download | Contact
example_ra_fitting.cpp
1 
21 #include <Pds/Ra>
22 #include <Pds/Ml>
23 
24 double Func(const Pds::Vector &x,const Pds::Vector &c)
25 {
26  if(c.IsEmpty()) return 0;
27  return c[0]+c[1]*x[0];
28 }
29 
30 Pds::Vector DcFunc(const Pds::Vector &x,const Pds::Vector &c)
31 {
32  if(c.IsEmpty()) return Pds::Vector();
33 
34  Pds::Vector Dc(c.Nel());
35 
36  Dc.SetRaw(0,1.0);
37  Dc.SetRaw(1,x[0]);
38  return Dc;
39 }
40 
41 
42 int main(void)
43 {
44  Pds::IterationConf Conf;
45  unsigned int L=1000;
46  Pds::Matrix X;
47  Pds::Vector Y;
49  Pds::Vector Yres;
50 
51  Pds::Vector C="-0.3 0.1";
52 
53  C.Print("C:\n");
54  C=Pds::Regression::FitModel(Conf,X,Y,Func,DcFunc,C);
55  C.Print("C:\n");
56 
57  Yres=X.OperateRows(Func,C);
58 
59  Pds::Octave::Plot::CurveXYXY(X,Y,X,Yres,"testando.m","testando.png");
60 
61 }
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
void LoadDataLine(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Regresion de datos ajustados por una linea.
Pds::Vector FitModel(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, double(*Func)(const Pds::Vector &, const Pds::Vector &), Pds::Vector(*DcFunc)(const Pds::Vector &, const Pds::Vector &), Pds::Vector c0)
Esta función encaja un modelo multidimensional com parametros en un conjunto de muestras .

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed