26bb851740ad8c4001a3255663061bf18dcffbf9
[scilab.git] / scilab / modules / optimization / demos / optim / optim_output.sce
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
2 // Copyright (C) 2009 - DIGITEO - Michael Baudin\r
3 // Copyright (C) 2010 - DIGITEO - Allan CORNET\r
4 // Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
5 //\r
6 // This file must be used under the terms of the CeCILL.\r
7 // This source file is licensed as described in the file COPYING, which\r
8 // you should have received as part of this distribution.  The terms\r
9 // are also available at\r
10 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt\r
11 \r
12 function demo_optim_output()\r
13 \r
14     mprintf(_("Running optimization ...\n"));\r
15 \r
16     xref = [1;2;3];\r
17     x0 = [1;-1;1];\r
18 \r
19     function [f,g,ind] = cost(x,ind)\r
20         if ( ind == 1 | ind == 4 ) then\r
21             f = 0.5*norm(x-xref)^2;\r
22         end\r
23 \r
24         if ( ind == 1 | ind == 4 ) then\r
25             g = x - xref;\r
26         end\r
27 \r
28         if ( ind == 1 ) then\r
29             mprintf("===========\n")\r
30             mprintf("x = %s\n", strcat(string(x)," "))\r
31             mprintf("f = %e\n", f)\r
32             g=x-xref;\r
33             mprintf("g = %s\n", strcat(string(g)," "))\r
34         end\r
35 \r
36     endfunction\r
37 \r
38     [f, xopt] = optim(cost, x0, imp=-1)\r
39     //\r
40     // Load this script into the editor\r
41     //\r
42     m = messagebox(_("View Code?"), "Question", "question", _(["Yes" "No"]), "modal")\r
43     if(m == 1)\r
44         filename = 'optim_output.sce';\r
45         dname = get_absolute_file_path(filename);\r
46         editor ( dname + filename );\r
47     end\r
48 endfunction\r
49 \r
50 demo_optim_output()\r
51 clear demo_optim_output;\r
52 \r
53 \r
54 \r
55 \r
56 \r
57 \r
58 \r\r