Changeset 4f055cf in tol
- Timestamp:
- Dec 18, 2009, 5:16:19 PM (17 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- f4eff5d
- Parents:
- e0aa1f8
- File:
-
- 1 edited
-
tol_pkg/MulVarFunAprox/test/test_0001/test.tol (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol_pkg/MulVarFunAprox/test/test_0001/test.tol
re0aa1f8 r4f055cf 14 14 15 15 //Random seed setting 16 Real PutRandomSeed( 1096004697);16 Real PutRandomSeed(2131234); 17 17 Real rndSeed = GetRandomSeed(0); 18 18 WriteLn("Current Random Seed = "<<rndSeed); … … 33 33 })) 34 34 }; 35 VMatrix X = generate.nodal.points( 15000,2);35 VMatrix X = generate.nodal.points(5000,2); 36 36 /* * / 37 37 MulVarFunAprox::@DesignC2 design = { … … 46 46 Real do.build.border = False)}; 47 47 /* */ 48 Real design::max.deg := 6; 48 Real design::max.deg := 3; 49 Real design::use.compact.base := False; 50 Real design::min.contrast.surface := 2.5; 49 51 50 52 Real t0 = Copy(Time); … … 66 68 FunRn2R::@FunC2 base.random.fun=FunRn2R::@FunC2.InBaseC2::Random(b, 1); 67 69 70 71 ////////////////////////////////////////////////////////////////////////////// 72 VMatrix fun.eval.intra.base(VMatrix X) 73 ////////////////////////////////////////////////////////////////////////////// 74 { 75 VMatrix X1 =SubCol(X,[[1]]); 76 VMatrix X2 =SubCol(X,[[2]]); 77 VMatrix one = X1*0+1; 78 one*7 -X1 +X2*2 -X1$*X1*3 +X1$*X2 +X1$*X1$*X1*0.4 -X1$*X2$*X2*0.1 79 }; 80 ////////////////////////////////////////////////////////////////////////////// 81 VMatrix der.1.eval.intra.base(VMatrix X) 82 ////////////////////////////////////////////////////////////////////////////// 83 { 84 VMatrix X1 =SubCol(X,[[1]]); 85 VMatrix X2 =SubCol(X,[[2]]); 86 VMatrix one = X1*0+1; 87 -one -X1*6 +X2 +X1$*X1*1.2 - X2$*X2*0.1 88 }; 89 ////////////////////////////////////////////////////////////////////////////// 90 VMatrix der.2.eval.intra.base(VMatrix X) 91 ////////////////////////////////////////////////////////////////////////////// 92 { 93 VMatrix X1 =SubCol(X,[[1]]); 94 VMatrix X2 =SubCol(X,[[2]]); 95 VMatrix one = X1*0+1; 96 one*2 +X2 -X1$*X2*0.2 97 }; 98 68 99 ////////////////////////////////////////////////////////////////////////////// 69 100 VMatrix fun.eval.extra.base(VMatrix X) 70 101 ////////////////////////////////////////////////////////////////////////////// 71 102 { 72 BinGroup("$*",For(1,design::_.n,VMatrix(Real i) 73 { 74 VMatrix Xi = SubCol(X,[[i]]); 75 If(i%2==1,Sin(Xi),Cos(Xi)) 76 })) 77 $* RPow(SubCol(X,[[1]]),2) 78 }; 103 VMatrix X1 =SubCol(X,[[1]]); 104 VMatrix X2 =SubCol(X,[[2]]); 105 Sin(X1)$*Cos(X2) 106 }; 107 ////////////////////////////////////////////////////////////////////////////// 108 VMatrix der.1.eval.extra.base(VMatrix X) 109 ////////////////////////////////////////////////////////////////////////////// 110 { 111 VMatrix X1 =SubCol(X,[[1]]); 112 VMatrix X2 =SubCol(X,[[2]]); 113 Cos(X1)$*Cos(X2) 114 }; 115 ////////////////////////////////////////////////////////////////////////////// 116 VMatrix der.2.eval.extra.base(VMatrix X) 117 ////////////////////////////////////////////////////////////////////////////// 118 { 119 VMatrix X1 =SubCol(X,[[1]]); 120 VMatrix X2 =SubCol(X,[[2]]); 121 -Sin(X1)$*Sin(X2) 122 }; 123 124 Real use_extra = True; 125 126 Code fun.eval = If(use_extra, fun.eval.extra.base, fun.eval.intra.base); 127 Code der.1.eval = If(use_extra,der.1.eval.extra.base,der.1.eval.intra.base); 128 Code der.2.eval = If(use_extra,der.2.eval.extra.base,der.2.eval.intra.base); 79 129 80 130 //Real b::upgrade.cache(design::_.X,0,0); 81 131 //Code fun.eval = base.random.fun::eval.function.v; 82 Code fun.eval = fun.eval.extra.base; 83 132 133 VMatrix F_X= fun.eval(design::_.X); 84 134 85 135 Real t0 := Copy(Time); … … 87 137 MulVarFunAprox::@ModelC2 model = MulVarFunAprox::@ModelC2::New( 88 138 design, 89 fun.eval(design::_.X));139 F_X); 90 140 Real t.estimating = Copy(Time)-t0; 91 141 WriteLn("Estimated model in "<<t.estimating+" seconds"); 142 143 144 VMatrix dF_X1 = der.1.eval(design::_.X); 145 VMatrix dF_X2 = der.2.eval(design::_.X); 146 147 VMatrix dF_X1_ = model::evaluate.partial.derivative.1(design::_.X, 1); 148 VMatrix dF_X2_ = model::evaluate.partial.derivative.1(design::_.X, 2); 149 150 VMatrix dF_X1_cmp = dF_X1 | dF_X1_; 151 VMatrix dF_X2_cmp = dF_X2 | dF_X2_; 152 153 VMatrix dF_X1_err = dF_X1 - dF_X1_; 154 VMatrix dF_X2_err = dF_X2 - dF_X2_; 155 156 Real dF_X1_err.avr = VMatAvr (dF_X1_err); 157 Real dF_X1_err.ste = VMatStDs(dF_X1_err); 158 Real dF_X2_err.avr = VMatAvr (dF_X2_err); 159 Real dF_X2_err.ste = VMatStDs(dF_X2_err); 160 92 161 93 162 VMatrix X2 = { design::generate.internal.points( … … 135 204 136 205 137 138 206 Real numErr1 = Copy(NError); 139 207 Real numWar1 = Copy(NWarning);
Note: See TracChangeset
for help on using the changeset viewer.
