d50104932d603dea435f9ab42b3f7a822c48a9fa
[scilab.git] / scilab / modules / optimization / tests / unit_tests / neldermead / optimset.tst
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008-2009 - INRIA - Michael Baudin
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // 
11 // Test #1 : Without parameters 
12 //
13 op = mtlb_optimset ();
14 if op.Display <> [] then pause,end
15 if op.FunValCheck <> [] then pause,end
16 if op.MaxFunEvals <> [] then pause,end
17 if op.MaxIter <> [] then pause,end
18 if op.OutputFcn <> [] then pause,end
19 if op.PlotFcns <> [] then pause,end
20 if op.TolFun <> [] then pause,end
21 if op.TolX <> [] then pause,end
22 clear op
23 function y = myoutputfun (x)
24   y = x;
25 endfunction
26 function y = myplotfun (x)
27   y = x;
28 endfunction
29 // 
30 // Test #2 : With parameters
31 //
32 op = mtlb_optimset (...
33   'Display','iter',...
34   "FunValCheck","on",...
35   "MaxFunEvals",100,...
36   "MaxIter",110,...
37   "OutputFcn",myoutputfun,...
38   "PlotFcns",myplotfun,...
39   "TolFun",1.e-12,...
40   "TolX",1.e-13...
41   );
42 if op.Display <> "iter" then pause,end
43 if op.FunValCheck <> "on" then pause,end
44 if op.MaxFunEvals <> 100 then pause,end
45 if op.MaxIter <> 110 then pause,end
46 //if op.OutputFcn <> myoutputfun then pause,end
47 //if op.PlotFcns <> myplotfun then pause,end
48 if op.TolFun <> 1.e-12 then pause,end
49 if op.TolX <> 1.e-13 then pause,end
50 clear op
51 // 
52 // Test #3 : Copy one option set into another
53 // 
54 op1 = mtlb_optimset ("TolFun",1.e-12);
55 op2 = mtlb_optimset (op1,"TolX",1.e-13);
56 if op2.TolFun <> 1.e-12 then pause,end
57 if op2.TolX <> 1.e-13 then pause,end
58 clear op1
59 clear op2
60 // 
61 // Test #3 : with one method name
62 // 
63 op = mtlb_optimset ("fminsearch");
64 if op.TolFun <> 1.e-4 then pause,end
65 if op.TolX <> 1.e-4 then pause,end
66 if op.Display <> "notify" then pause,end
67 if op.MaxFunEvals <> "200*numberofvariables" then pause,end
68 if op.MaxIter <> "200*numberofvariables" then pause,end
69 clear op
70