Changeset 1e064ff in tol


Ignore:
Timestamp:
Dec 30, 2009, 6:22:11 PM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
4a13114
Parents:
7874ccc
Message:

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1895 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol_pkg/MulVarFunAprox/test/test_0001/test.tol

    r7874ccc r1e064ff  
    2929  {
    3030    Real min = Rand(2,4);
    31     Real len = Rand(5,10)*((i/n)^(1/n));
     31    Real len = Rand(5,15)*((i/n)^(1/n));
    3232    Rand(J,1,min,min+len)
    3333  }))
    3434};
    35 VMatrix X = generate.nodal.points(15000,2);
     35VMatrix X = generate.nodal.points(5000,2);
    3636/* * /
    3737MulVarFunAprox::@DesignC2 design = {
    … …  
    4747/* */
    4848Real design::max.deg := 6;
    49 Real design::use.compact.base := True;
     49Real design::use.compact.base := False;
    5050Real design::min.contrast.surface := 2.0;
    5151
    … …  
    122122};
    123123
    124 Real use_extra = False;
     124Real use_extra = True;
    125125
    126126Code fun.eval   = If(use_extra,  fun.eval.extra.base,  fun.eval.intra.base);
    … …  
    133133VMatrix F_X= fun.eval(design::_.X);
    134134
    135 Real t0 := Copy(Time);
    136 WriteLn("Running regression model for design matrix "<<design::_.Q);
     135Real box.cox.exp = 1;
    137136MulVarFunAprox::@ModelC2 model = MulVarFunAprox::@ModelC2::New(
    138137   design,
    139    F_X);
     138   RPow(F_X,box.cox.exp));
     139WriteLn("Running regression model for design matrix "<<design::_.Q);
     140Real t0 := Copy(Time);
     141Real model::estimate(0);
    140142Real t.estimating = Copy(Time)-t0;
    141143WriteLn("Estimated model in "<<t.estimating+" seconds");
    142 
    143 
     144/*
    144145VMatrix dF_X1 = der.1.eval(design::_.X);
    145146VMatrix dF_X2 = der.2.eval(design::_.X);
    … …  
    159160Real dF_X2_err.ste = VMatStDs(dF_X2_err);
    160161
    161 
    162 VMatrix X2 = { design::generate.internal.points(
    163   Real m = design::_.J/2,
    164   True)};
     162*/
     163VMatrix X2 = { design::generate.internal.points(Real m = design::_.J/2)};
    165164
    166165Real b::upgrade.cache(X2,0,0);
    … …  
    168167Real t0 := Copy(Time);
    169168WriteLn("Evaluating forecast for "<<VRows(X2)+" points...");
    170 VMatrix F2.frc = model::evaluate(X2);
     169VMatrix F2.frc = model::evaluate(X2,0);
    171170Real t.forecasting = Copy(Time)-t0;
    172171WriteLn("Evaluated forecast in "<<t.forecasting+" seconds");
    … …  
    205204
    206205VMatrix Y.n.m = model::_.design::_.Yn | model::_.design::_.Ym;
     206
     207VMatrix xyz = X|F_X;
     208
     209Matrix MatWriteFile("real.xyz.bbm",VMat2Mat(xyz));
     210
     211VMatrix _.X = X;
     212Real _.n = VColumns(_.X);
     213    Set _.X.col.info = For(1,_.n,Set(Real i)
     214    {[[
     215      VMatrix col = SubCol(_.X,[[i]]);
     216      Real min = VMatMin(col);
     217      Real max = VMatMax(col);
     218      Real length = max-min;
     219      Set Range(min,max,length/99)
     220    ]]});
     221VMatrix grid.X = Mat2VMat(SetMat(Group("CartProd",Traspose(Extract(_.X.col.info,5))[1])));
     222VMatrix grid.F = RPow(model::evaluate(grid.X,?),1/box.cox.exp);
     223
     224//Rango de latitudes
     225Matrix x = SetCol(_.X.col.info[1][5]);
     226//Rango de latitudes
     227Matrix y = SetCol(_.X.col.info[2][5]);
     228Matrix z =
     229{
     230  Matrix aux= Group("ConcatColumns",For(1,Rows(x),Matrix(Real j)
     231  {
     232    VMat2Mat(SubRow(grid.F, Range(1+(j-1)*Rows(y),(j)*Rows(y),1)))
     233  }));
     234  Tra(aux)
     235};
     236
     237Matrix MatWriteFile("aprox.x.bbm",x);
     238Matrix MatWriteFile("aprox.y.bbm",y);
     239Matrix MatWriteFile("aprox.z.bbm",z);
     240
     241Set BMTFile([[z]],"aprox.grid.csv");
     242
     243Text currentDir = GetAbsolutePath(GetFilePath(GetSourcePath(z)));
     244Text WriteFile("show.R",
     245"
     246library(rgl)
     247
     248################################################################################
     249read.bbm <-
     250################################################################################
     251function(fbbm) {
     252  fd = file(fbbm, open='rb')
     253  dim <- readBin(fd,integer(), n=2)
     254  data<-readBin(fd,double(),n=dim[1]*dim[2])
     255  close(fd)
     256  matrix(data, nrow=dim[1], ncol=dim[2], byrow=TRUE)
     257}
     258
     259x<-t(read.bbm(\""+currentDir+"aprox.x.bbm\"))
     260 y<-t(read.bbm(\""+currentDir+"aprox.y.bbm\"))
     261 z<-read.bbm(\""+currentDir+"aprox.z.bbm\")
     262xyz.real <- read.bbm(\""+currentDir+"real.xyz.bbm\")
     263open3d()
     264bg3d(\"white\")
     265
     266persp3d(x[,],y[,],z, xlim = range(x, na.rm = TRUE), ylim = range(y, na.rm = TRUE), col=\"green\")
     267points3d(xyz.real)
     268");
     269
     270Real OSCmdWait("Rgui CMD BATCH --vanilla show.R show.R.log");
     271/*
    207272Real numErr1 = Copy(NError);
    208273Real numWar1 = Copy(NWarning);
Note: See TracChangeset for help on using the changeset viewer.