#include #include #include using namespace itpp; //These lines are needed for use of cout and endl using std::cout; using std::endl; int main() { RNG_randomize(); RV x ( "{x }","1" ); RV z(x); enorm f1 ( x ); enorm f2 ( x ); f1.set_parameters ( "-5",mat ( "2" ) ); f2.set_parameters ( "5",mat ( "10" ) ); Array A ( 2 ); mepdf A1(&f1); mepdf A2(&f2); A ( 0 ) =&A1; A ( 1 ) =&A2; int Npoints=100; mat x_grid ( 1,Npoints ); x_grid.set_row ( 0,linspace ( -10.0, 10.0 ) ); vec l_f1=f1.evalpdflog_m ( x_grid ); vec l_f2=f2.evalpdflog_m ( x_grid ); mat lW(2,Npoints); lW.set_row(0, l_f1); lW.set_row(1, l_f2 ); merger M ( A ); enorm g0(x); g0.set_parameters(vec("0.0"),mat("100.0")); M.set_parameters(1.2,200,3); M.merge(&g0); vec m2 = M.lognorm_merge(lW); vec mm2 = M.evalpdflog_m(x_grid); it_file it("merger_test.it"); it << Name("x_grid") << x_grid; it << Name("lf1") << l_f1; it << Name("lf2") << l_f2; it << Name("m2") << m2; it << Name("mm2") << mm2; }