Convert files to use UNIX delimiters 16/13116/2
Paul BIGNIER [Fri, 8 Nov 2013 13:37:07 +0000 (14:37 +0100)]
Using command flip -b -u recursively.

Change-Id: Ib7b5eb2e57b212e22ed80b3a3a7f1edecad4b047

91 files changed:
scilab/modules/api_scilab/help/ja_JP/addchapter.sce
scilab/modules/arnoldi/help/ja_JP/addchapter.sce
scilab/modules/atoms/help/ja_JP/addchapter.sce
scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci
scilab/modules/boolean/help/ja_JP/addchapter.sce
scilab/modules/cacsd/help/ja_JP/addchapter.sce
scilab/modules/call_scilab/help/ja_JP/addchapter.sce
scilab/modules/compatibility_functions/help/ja_JP/addchapter.sce
scilab/modules/compatibility_functions/macros/mtlb_max.sci
scilab/modules/compatibility_functions/macros/mtlb_min.sci
scilab/modules/console/help/ja_JP/addchapter.sce
scilab/modules/core/help/ja_JP/addchapter.sce
scilab/modules/data_structures/help/ja_JP/addchapter.sce
scilab/modules/demo_tools/help/ja_JP/addchapter.sce
scilab/modules/development_tools/help/ja_JP/addchapter.sce
scilab/modules/differential_equations/help/ja_JP/addchapter.sce
scilab/modules/differential_equations/macros/integrate.sci
scilab/modules/dynamic_link/help/ja_JP/addchapter.sce
scilab/modules/elementary_functions/help/ja_JP/addchapter.sce
scilab/modules/elementary_functions/macros/%hm_gsort.sci
scilab/modules/elementary_functions/macros/%sp_gsort.sci
scilab/modules/fftw/help/ja_JP/addchapter.sce
scilab/modules/fileio/help/ja_JP/addchapter.sce
scilab/modules/functions/help/ja_JP/addchapter.sce
scilab/modules/genetic_algorithms/help/ja_JP/addchapter.sce
scilab/modules/graphic_export/help/ja_JP/addchapter.sce
scilab/modules/graphic_objects/src/cpp/createObjectData.cpp
scilab/modules/graphics/demos/2d_3d_plots/hist3d.dem.sce
scilab/modules/graphics/help/ja_JP/addchapter.sce
scilab/modules/gui/help/ja_JP/addchapter.sce
scilab/modules/helptools/help/ja_JP/addchapter.sce
scilab/modules/history_manager/help/ja_JP/addchapter.sce
scilab/modules/integer/help/ja_JP/addchapter.sce
scilab/modules/interpolation/help/ja_JP/addchapter.sce
scilab/modules/intersci/help/ja_JP/addchapter.sce
scilab/modules/io/help/ja_JP/addchapter.sce
scilab/modules/javasci/help/ja_JP/addchapter.sce
scilab/modules/jvm/help/ja_JP/addchapter.sce
scilab/modules/localization/help/ja_JP/addchapter.sce
scilab/modules/m2sci/help/ja_JP/addchapter.sce
scilab/modules/matio/help/ja_JP/addchapter.sce
scilab/modules/mexlib/help/ja_JP/addchapter.sce
scilab/modules/modules_manager/help/ja_JP/addchapter.sce
scilab/modules/modules_manager/help/pt_BR/addchapter.sce
scilab/modules/optimization/demos/neldermead/fminsearch_display.sce
scilab/modules/optimization/demos/neldermead/fminsearch_optimplotfunccount.sce
scilab/modules/optimization/demos/neldermead/fminsearch_optimplotfval.sce
scilab/modules/optimization/demos/neldermead/fminsearch_optimplotx.sce
scilab/modules/optimization/demos/neldermead/fminsearch_outputfunction.sce
scilab/modules/optimization/demos/neldermead/fminsearch_rosenbrock.sce
scilab/modules/optimization/demos/neldermead/fminsearch_tolx.sce
scilab/modules/optimization/demos/neldermead/neldermead_boxbounds.sce
scilab/modules/optimization/demos/neldermead/neldermead_boxproblemB.sce
scilab/modules/optimization/demos/neldermead/neldermead_dimension.sce
scilab/modules/optimization/demos/neldermead/nmplot_han1.sce
scilab/modules/optimization/demos/neldermead/nmplot_han2.sce
scilab/modules/optimization/demos/neldermead/nmplot_mckinnon.sce
scilab/modules/optimization/demos/neldermead/nmplot_mckinnon2.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.fixed.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.fixed2.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.variable.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.variable2.sce
scilab/modules/optimization/demos/neldermead/nmplot_rosenbrock.fixed.sce
scilab/modules/optimization/demos/neldermead/nmplot_rosenbrock.sce
scilab/modules/optimization/demos/optim/optim_output.sce
scilab/modules/optimization/demos/optim/optim_rosenbrock.sce
scilab/modules/optimization/demos/optim/optim_withderivative.sce
scilab/modules/optimization/help/ja_JP/addchapter.sce
scilab/modules/output_stream/help/ja_JP/addchapter.sce
scilab/modules/parallel/help/ja_JP/addchapter.sce
scilab/modules/parameters/help/ja_JP/addchapter.sce
scilab/modules/polynomials/help/ja_JP/addchapter.sce
scilab/modules/randlib/help/ja_JP/addchapter.sce
scilab/modules/randlib/macros/%b_grand.sci
scilab/modules/randlib/macros/%c_grand.sci
scilab/modules/randlib/macros/%grand_perm.sci
scilab/modules/randlib/macros/%hm_grand.sci
scilab/modules/randlib/macros/%i_grand.sci
scilab/modules/randlib/macros/%p_grand.sci
scilab/modules/randlib/macros/%s_grand.sci
scilab/modules/randlib/macros/%sp_grand.sci
scilab/modules/renderer/help/ja_JP/addchapter.sce
scilab/modules/scinotes/help/ja_JP/addchapter.sce
scilab/modules/scinotes/macros/editor.sci
scilab/modules/signal_processing/help/ja_JP/addchapter.sce
scilab/modules/simulated_annealing/help/ja_JP/addchapter.sce
scilab/modules/sound/help/ja_JP/addchapter.sce
scilab/modules/sparse/help/ja_JP/addchapter.sce
scilab/modules/special_functions/help/ja_JP/addchapter.sce
scilab/modules/spreadsheet/help/ja_JP/addchapter.sce
scilab/modules/statistics/help/ja_JP/addchapter.sce

index 40bccd4..3175355 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("API Scilab",SCI+"/modules/api_scilab/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("API Scilab",SCI+"/modules/api_scilab/help/ja_JP",%T);
+
index b1ade57..fcfdec1 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("ARnoldi PACKage",SCI+"/modules/arnoldi/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("ARnoldi PACKage",SCI+"/modules/arnoldi/help/ja_JP",%T);
+
index 1c75b1f..05caf31 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Atoms",SCI+"/modules/atoms/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Atoms",SCI+"/modules/atoms/help/ja_JP",%T);
+
index 78286b8..7c0def2 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>\r
-// Copyright (C) 2011-2012 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Samuel GOUGEON\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-// Internal function\r
-\r
-// Return the full description of the packages present in the differents\r
-// repositories and the installed packages\r
-\r
-function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)\r
-\r
-    // Check input parameters\r
-    // =========================================================================\r
-\r
-    rhs  = argn(2);\r
-\r
-    if rhs > 1 then\r
-        error(msprintf(gettext("%s: Wrong number of input argument: at most %d expected.\n"),"atomsDESCRIPTIONget",1));\r
-    end\r
-\r
-    if (rhs == 1) & (type(update) <> 4) then\r
-        error(msprintf(gettext("%s: Wrong type for input argument #%d: Boolean expected.\n"),"atomsDESCRIPTIONget",1));\r
-    end\r
-\r
-    // packages file path definition\r
-    // =========================================================================\r
-    atoms_path_all_users = atomsPath("system", "allusers");\r
-    atoms_path_user = atomsPath("system", "user");\r
-\r
-    filename_test_rw = "__ATOMS_RW__";\r
-    if isfile(atoms_path_all_users + filename_test_rw) then\r
-        mdelete(atoms_path_all_users + filename_test_rw);\r
-    end\r
-\r
-    // Have the user write access to the Scilab distribution ?\r
-    [id, err] = mopen(atoms_path_all_users + filename_test_rw, "wt");\r
-    if err == 0 then // The user has write access to the Scilab distribution\r
-        mclose(id);\r
-        mdelete(atoms_path_all_users + filename_test_rw);\r
-\r
-        packages_path = atoms_path_all_users + "packages";\r
-        packages_path_user = atoms_path_user + "packages";\r
-\r
-        // Then, we must test if there is also a user defined packages file\r
-        if isfile(packages_path_user) then  // We use it if it is newer\r
-            kdiff = newest([packages_path, packages_path_user])\r
-            if ~isfile(packages_path) | kdiff == 2 then\r
-                copyfile(packages_path_user, packages_path)\r
-            end\r
-        end\r
-    else  // The user is not a Scilab admin => default user profile used\r
-        packages_path = atoms_path_user + "packages";\r
-    end\r
-\r
-    categories_path  = atoms_path_user + "categories";\r
-    packages_path_info = fileinfo(packages_path);\r
-\r
-\r
-    // in offline mode we use only DESCRIPTION file of the module\r
-    if (atomsGetConfig("offLine") == "True" | atomsGetConfig("offline") == "True") then\r
-        if isfile(atomsPath("system", "session") + "/DESCRIPTION_archives") then\r
-            this_description = atomsDESCRIPTIONread(atomsPath("system","session") + "/DESCRIPTION_archives");\r
-\r
-            inst_description_files = [ ..\r
-            atomsPath("system","allusers") + "DESCRIPTION_installed" "" ; ..\r
-            atomsPath("system","user")   + "DESCRIPTION_installed" "" ; ..\r
-            atomsPath("system","session")  + "DESCRIPTION_installed" "" ; ..\r
-            atomsPath("system","session")  + "DESCRIPTION_archives"  "" ];\r
-\r
-            for i=1:size(inst_description_files(:,1),"*")\r
-\r
-                file_out    = inst_description_files(i,1);\r
-                this_repository = inst_description_files(i,2);\r
-\r
-                if ~isfile(file_out) then\r
-                    continue;\r
-                end\r
-\r
-                // Read the download description file\r
-                // ----------------------------------------\r
-                if this_repository <> "" then\r
-                    additional("repository") = this_repository;\r
-                else\r
-                    additional = struct();\r
-                end\r
-\r
-                installed_description = atomsDESCRIPTIONread(file_out,additional);\r
-\r
-                this_description  = atomsDESCRIPTIONcat(installed_description,this_description);\r
-\r
-            end\r
-\r
-            packages = this_description("packages");\r
-            categories_flat = this_description("categories_flat");\r
-            categories = this_description("categories");\r
-\r
-            global %_atoms_cache; // /!\ Do not rename this variable. Name is tracked/ignored by Variable Browser\r
-            %_atoms_cache(1) = packages;\r
-            %_atoms_cache(2) = categories;\r
-            %_atoms_cache(3) = categories_flat;\r
-\r
-        else\r
-            load(packages_path, "packages", "categories", "categories_flat");\r
-\r
-        end\r
-\r
-        return\r
-    end\r
-\r
-\r
-    // If necessary, rebuild the struct\r
-    // =========================================================================\r
-    TIME_BEFORE_NEW_UPDATE = 86400;\r
-    if (packages_path_info == []) ..\r
-        | (getdate("s") - packages_path_info(6) > TIME_BEFORE_NEW_UPDATE) ..\r
-        | (rhs == 1 & update) then\r
-\r
-        // Initialize\r
-        packages     = struct();\r
-        categories_flat  = struct();\r
-        categories     = struct();\r
-\r
-        description          = struct();\r
-        description("packages")    = packages;\r
-        description("categories")    = categories;\r
-        description("categories_flat") = categories_flat;\r
-\r
-        // Operating system detection + Architecture detection\r
-        // =========================================================================\r
-        [OSNAME, ARCH, LINUX, MACOSX, SOLARIS, BSD] = atomsGetPlatform();\r
-\r
-        description_files = [ ..\r
-        atomsPath("system","allusers") + "DESCRIPTION_installed" "" ; ..\r
-        atomsPath("system","user")   + "DESCRIPTION_installed" "" ; ..\r
-        atomsPath("system","session")  + "DESCRIPTION_installed" "" ; ..\r
-        atomsPath("system","session")  + "DESCRIPTION_archives"  "" ];\r
-\r
-        // 1st step : Loop on available repositories\r
-        // ---------------------------------------------------------------------\r
-\r
-        repositories = atomsRepositoryList();\r
-        repositories = repositories(:,1);\r
-\r
-        atoms_tmp_directory = atomsPath("system","session");\r
-\r
-        if ~isdir(atoms_tmp_directory) then\r
-            mkdir(atoms_tmp_directory);\r
-        end\r
-\r
-        for i=1:size(repositories,"*")\r
-            // Building url & file_out\r
-            // ----------------------------------------\r
-            url      = repositories(i)+"/TOOLBOXES/"+ARCH+"/"+OSNAME+".gz";\r
-            file_out     = pathconvert(getshortpathname(fullpath(atoms_tmp_directory))+string(i)+"_TOOLBOXES.gz",%f);\r
-\r
-            // Remove the existing file\r
-            // ----------------------------------------\r
-            if fileinfo(file_out) <> [] then\r
-                mdelete(file_out);\r
-            end\r
-\r
-            // Launch the download\r
-            // ----------------------------------------\r
-            atomsDownload(url, file_out);\r
-\r
-            // We check that file_out exists\r
-            // ----------------------------------------\r
-            if ~isfile(file_out) then\r
-                error(msprintf(gettext("%s: DESCRIPTION file (''%s'') does not exist.\n"),"atomsDESCRIPTIONget", file_out));\r
-            end\r
-\r
-            // Extract It\r
-            // ----------------------------------------\r
-            if LINUX | MACOSX | SOLARIS | BSD then\r
-                extract_cmd = "gunzip "+ file_out;\r
-            else\r
-                gzip_path = getshortpathname(fullpath(pathconvert(SCI+"/tools/gzip/gzip.exe",%F)));\r
-                if ~isfile(gzip_path) then\r
-                    error(msprintf(gettext("%s: gzip not found.\n"), "atomsDESCRIPTIONget"));\r
-                end\r
-                extract_cmd = """" + gzip_path + """" + " -d """ + file_out + """";\r
-            end\r
-\r
-            [rep, stat ,err] = unix_g(extract_cmd);\r
-\r
-            if stat ~= 0 then\r
-                disp(err);\r
-                error(msprintf(gettext("%s: Extraction of the DESCRIPTION file (''%s'') has failed.\n"),"atomsDESCRIPTIONget",file_out));\r
-            end\r
-\r
-            description_files = [ description_files ; strsubst(file_out,"/\.gz$/","","r") repositories(i) ];\r
-\r
-        end\r
-\r
-        // 2nd step : Loop on available Description files\r
-        // ---------------------------------------------------------------------\r
-\r
-        for i=1:size(description_files(:,1),"*")\r
-\r
-            file_out    = description_files(i,1);\r
-            this_repository = description_files(i,2);\r
-\r
-            if ~isfile(file_out) then\r
-                continue;\r
-            end\r
-\r
-            // Read the download description file\r
-            // ----------------------------------------\r
-            if this_repository <> "" then\r
-                additional("repository") = this_repository;\r
-            else\r
-\r
-                additional = struct();\r
-            end\r
-\r
-            this_description = atomsDESCRIPTIONread(file_out,additional);\r
-\r
-            // Add information about the repository\r
-            // ----------------------------------------\r
-            if this_repository <> "" then\r
-                this_description = atomsDESCRIPTIONaddField(this_description,"*","*","repository",this_repository);\r
-                this_description = atomsDESCRIPTIONaddField(this_description,"*","*","fromRepository","1");\r
-            end\r
-\r
-            // concatenate the description with the\r
-            // global struct\r
-            // ----------------------------------------\r
-            description  = atomsDESCRIPTIONcat(description,this_description);\r
-\r
-            // file_out is no more needed, delete it\r
-            // but only if it's named TOOLBOXES\r
-            // DESCRIPTION_installed must be keeped\r
-            // ----------------------------------------\r
-            if regexp( file_out , "/TOOLBOXES$/" , "o" ) <> [] then\r
-                mdelete(file_out);\r
-            end\r
-\r
-        end\r
-\r
-        // Save the "packages" variable in a file\r
-        // ---------------------------------------------------------------------\r
-\r
-        if ~isdir(atomsPath("system","user")) then\r
-            mkdir(atomsPath("system","user"));\r
-        end\r
-\r
-        packages     = description("packages");\r
-        categories     = description("categories");\r
-        categories_flat  = description("categories_flat");\r
-\r
-        wMode = warning("query");\r
-        warning("off");\r
-        commandToExec = "save(packages_path, packages, categories, categories_flat)";\r
-        ierr = execstr(commandToExec, "errcatch");\r
-        warning(wMode);\r
-        if ierr <> 0 then\r
-            error(msprintf(gettext("%s: save (''%s'') has failed.\n"),"atomsDESCRIPTIONget", packages_path));\r
-        end\r
-        clearglobal %_atoms_cache;\r
-\r
-        // Just load from file\r
-        // =========================================================================\r
-\r
-    else\r
-        global %_atoms_cache; // /!\ Do not rename this variable. Name is tracked/ignored by Variable Browser\r
-        if isempty(%_atoms_cache) then\r
-            load(packages_path,"packages","categories","categories_flat");\r
-            %_atoms_cache = list(packages, categories, categories_flat);\r
-        else\r
-            packages = %_atoms_cache(1);\r
-            categories = %_atoms_cache(2);\r
-            categories_flat = %_atoms_cache(3);\r
-        end\r
-    end\r
-\r
-endfunction\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+// Copyright (C) 2011-2012 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Samuel GOUGEON
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// Internal function
+
+// Return the full description of the packages present in the differents
+// repositories and the installed packages
+
+function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
+
+    // Check input parameters
+    // =========================================================================
+
+    rhs  = argn(2);
+
+    if rhs > 1 then
+        error(msprintf(gettext("%s: Wrong number of input argument: at most %d expected.\n"),"atomsDESCRIPTIONget",1));
+    end
+
+    if (rhs == 1) & (type(update) <> 4) then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: Boolean expected.\n"),"atomsDESCRIPTIONget",1));
+    end
+
+    // packages file path definition
+    // =========================================================================
+    atoms_path_all_users = atomsPath("system", "allusers");
+    atoms_path_user = atomsPath("system", "user");
+
+    filename_test_rw = "__ATOMS_RW__";
+    if isfile(atoms_path_all_users + filename_test_rw) then
+        mdelete(atoms_path_all_users + filename_test_rw);
+    end
+
+    // Have the user write access to the Scilab distribution ?
+    [id, err] = mopen(atoms_path_all_users + filename_test_rw, "wt");
+    if err == 0 then // The user has write access to the Scilab distribution
+        mclose(id);
+        mdelete(atoms_path_all_users + filename_test_rw);
+
+        packages_path = atoms_path_all_users + "packages";
+        packages_path_user = atoms_path_user + "packages";
+
+        // Then, we must test if there is also a user defined packages file
+        if isfile(packages_path_user) then  // We use it if it is newer
+            kdiff = newest([packages_path, packages_path_user])
+            if ~isfile(packages_path) | kdiff == 2 then
+                copyfile(packages_path_user, packages_path)
+            end
+        end
+    else  // The user is not a Scilab admin => default user profile used
+        packages_path = atoms_path_user + "packages";
+    end
+
+    categories_path  = atoms_path_user + "categories";
+    packages_path_info = fileinfo(packages_path);
+
+
+    // in offline mode we use only DESCRIPTION file of the module
+    if (atomsGetConfig("offLine") == "True" | atomsGetConfig("offline") == "True") then
+        if isfile(atomsPath("system", "session") + "/DESCRIPTION_archives") then
+            this_description = atomsDESCRIPTIONread(atomsPath("system","session") + "/DESCRIPTION_archives");
+
+            inst_description_files = [ ..
+            atomsPath("system","allusers") + "DESCRIPTION_installed" "" ; ..
+            atomsPath("system","user")   + "DESCRIPTION_installed" "" ; ..
+            atomsPath("system","session")  + "DESCRIPTION_installed" "" ; ..
+            atomsPath("system","session")  + "DESCRIPTION_archives"  "" ];
+
+            for i=1:size(inst_description_files(:,1),"*")
+
+                file_out    = inst_description_files(i,1);
+                this_repository = inst_description_files(i,2);
+
+                if ~isfile(file_out) then
+                    continue;
+                end
+
+                // Read the download description file
+                // ----------------------------------------
+                if this_repository <> "" then
+                    additional("repository") = this_repository;
+                else
+                    additional = struct();
+                end
+
+                installed_description = atomsDESCRIPTIONread(file_out,additional);
+
+                this_description  = atomsDESCRIPTIONcat(installed_description,this_description);
+
+            end
+
+            packages = this_description("packages");
+            categories_flat = this_description("categories_flat");
+            categories = this_description("categories");
+
+            global %_atoms_cache; // /!\ Do not rename this variable. Name is tracked/ignored by Variable Browser
+            %_atoms_cache(1) = packages;
+            %_atoms_cache(2) = categories;
+            %_atoms_cache(3) = categories_flat;
+
+        else
+            load(packages_path, "packages", "categories", "categories_flat");
+
+        end
+
+        return
+    end
+
+
+    // If necessary, rebuild the struct
+    // =========================================================================
+    TIME_BEFORE_NEW_UPDATE = 86400;
+    if (packages_path_info == []) ..
+        | (getdate("s") - packages_path_info(6) > TIME_BEFORE_NEW_UPDATE) ..
+        | (rhs == 1 & update) then
+
+        // Initialize
+        packages     = struct();
+        categories_flat  = struct();
+        categories     = struct();
+
+        description          = struct();
+        description("packages")    = packages;
+        description("categories")    = categories;
+        description("categories_flat") = categories_flat;
+
+        // Operating system detection + Architecture detection
+        // =========================================================================
+        [OSNAME, ARCH, LINUX, MACOSX, SOLARIS, BSD] = atomsGetPlatform();
+
+        description_files = [ ..
+        atomsPath("system","allusers") + "DESCRIPTION_installed" "" ; ..
+        atomsPath("system","user")   + "DESCRIPTION_installed" "" ; ..
+        atomsPath("system","session")  + "DESCRIPTION_installed" "" ; ..
+        atomsPath("system","session")  + "DESCRIPTION_archives"  "" ];
+
+        // 1st step : Loop on available repositories
+        // ---------------------------------------------------------------------
+
+        repositories = atomsRepositoryList();
+        repositories = repositories(:,1);
+
+        atoms_tmp_directory = atomsPath("system","session");
+
+        if ~isdir(atoms_tmp_directory) then
+            mkdir(atoms_tmp_directory);
+        end
+
+        for i=1:size(repositories,"*")
+            // Building url & file_out
+            // ----------------------------------------
+            url      = repositories(i)+"/TOOLBOXES/"+ARCH+"/"+OSNAME+".gz";
+            file_out     = pathconvert(getshortpathname(fullpath(atoms_tmp_directory))+string(i)+"_TOOLBOXES.gz",%f);
+
+            // Remove the existing file
+            // ----------------------------------------
+            if fileinfo(file_out) <> [] then
+                mdelete(file_out);
+            end
+
+            // Launch the download
+            // ----------------------------------------
+            atomsDownload(url, file_out);
+
+            // We check that file_out exists
+            // ----------------------------------------
+            if ~isfile(file_out) then
+                error(msprintf(gettext("%s: DESCRIPTION file (''%s'') does not exist.\n"),"atomsDESCRIPTIONget", file_out));
+            end
+
+            // Extract It
+            // ----------------------------------------
+            if LINUX | MACOSX | SOLARIS | BSD then
+                extract_cmd = "gunzip "+ file_out;
+            else
+                gzip_path = getshortpathname(fullpath(pathconvert(SCI+"/tools/gzip/gzip.exe",%F)));
+                if ~isfile(gzip_path) then
+                    error(msprintf(gettext("%s: gzip not found.\n"), "atomsDESCRIPTIONget"));
+                end
+                extract_cmd = """" + gzip_path + """" + " -d """ + file_out + """";
+            end
+
+            [rep, stat ,err] = unix_g(extract_cmd);
+
+            if stat ~= 0 then
+                disp(err);
+                error(msprintf(gettext("%s: Extraction of the DESCRIPTION file (''%s'') has failed.\n"),"atomsDESCRIPTIONget",file_out));
+            end
+
+            description_files = [ description_files ; strsubst(file_out,"/\.gz$/","","r") repositories(i) ];
+
+        end
+
+        // 2nd step : Loop on available Description files
+        // ---------------------------------------------------------------------
+
+        for i=1:size(description_files(:,1),"*")
+
+            file_out    = description_files(i,1);
+            this_repository = description_files(i,2);
+
+            if ~isfile(file_out) then
+                continue;
+            end
+
+            // Read the download description file
+            // ----------------------------------------
+            if this_repository <> "" then
+                additional("repository") = this_repository;
+            else
+
+                additional = struct();
+            end
+
+            this_description = atomsDESCRIPTIONread(file_out,additional);
+
+            // Add information about the repository
+            // ----------------------------------------
+            if this_repository <> "" then
+                this_description = atomsDESCRIPTIONaddField(this_description,"*","*","repository",this_repository);
+                this_description = atomsDESCRIPTIONaddField(this_description,"*","*","fromRepository","1");
+            end
+
+            // concatenate the description with the
+            // global struct
+            // ----------------------------------------
+            description  = atomsDESCRIPTIONcat(description,this_description);
+
+            // file_out is no more needed, delete it
+            // but only if it's named TOOLBOXES
+            // DESCRIPTION_installed must be keeped
+            // ----------------------------------------
+            if regexp( file_out , "/TOOLBOXES$/" , "o" ) <> [] then
+                mdelete(file_out);
+            end
+
+        end
+
+        // Save the "packages" variable in a file
+        // ---------------------------------------------------------------------
+
+        if ~isdir(atomsPath("system","user")) then
+            mkdir(atomsPath("system","user"));
+        end
+
+        packages     = description("packages");
+        categories     = description("categories");
+        categories_flat  = description("categories_flat");
+
+        wMode = warning("query");
+        warning("off");
+        commandToExec = "save(packages_path, packages, categories, categories_flat)";
+        ierr = execstr(commandToExec, "errcatch");
+        warning(wMode);
+        if ierr <> 0 then
+            error(msprintf(gettext("%s: save (''%s'') has failed.\n"),"atomsDESCRIPTIONget", packages_path));
+        end
+        clearglobal %_atoms_cache;
+
+        // Just load from file
+        // =========================================================================
+
+    else
+        global %_atoms_cache; // /!\ Do not rename this variable. Name is tracked/ignored by Variable Browser
+        if isempty(%_atoms_cache) then
+            load(packages_path,"packages","categories","categories_flat");
+            %_atoms_cache = list(packages, categories, categories_flat);
+        else
+            packages = %_atoms_cache(1);
+            categories = %_atoms_cache(2);
+            categories_flat = %_atoms_cache(3);
+        end
+    end
+
+endfunction
index fca217a..369a30d 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Boolean",SCI+"/modules/boolean/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Boolean",SCI+"/modules/boolean/help/ja_JP",%T);
+
index c2e5662..3dda7ef 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("CACSD",SCI+"/modules/cacsd/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("CACSD",SCI+"/modules/cacsd/help/ja_JP",%T);
+
index a6d708b..5216cb9 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("call_scilab API",SCI+"/modules/call_scilab/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("call_scilab API",SCI+"/modules/call_scilab/help/ja_JP",%T);
+
index 3831943..76cce23 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Compatibility Functions",SCI+"/modules/compatibility_functions/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Compatibility Functions",SCI+"/modules/compatibility_functions/help/ja_JP",%T);
+
index ee0bb37..0b46bcf 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function [r,k]=mtlb_max(a,b,c)\r
-    // Emulation function for max() Matlab function\r
-\r
-    [lhs,rhs]=argn(0);\r
-\r
-    if rhs==2 then\r
-        if type(b)==10 then\r
-            rhs=1\r
-        end\r
-    end\r
-\r
-    if rhs==1 then //max(A)\r
-        // One output arg\r
-        if lhs==1 then\r
-            if ~isreal(a,0) then\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    [r,k]=max(abs(a))\r
-                    r=a(k)\r
-                else\r
-                    [r,k]=max(abs(a),"r")\r
-                    r=[]\r
-                    for l=1:size(a,2)\r
-                        r=[r,a(k(l),l)]\r
-                    end\r
-                end\r
-            else\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    r=max(a)\r
-                else\r
-                    r=max(a,"r")\r
-                end\r
-            end\r
-        else\r
-            if ~isreal(a,0) then\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    [r,k]=max(abs(a))\r
-                    r=a(k)\r
-                else\r
-                    [r,k]=max(abs(a),"r")\r
-                    r=[]\r
-                    for l=1:size(a,2)\r
-                        r=[r,a(k(l),l)]\r
-                    end\r
-                end\r
-            else\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    [r,k]=max(a)\r
-                else\r
-                    [r,k]=max(a,"r")\r
-                end\r
-            end\r
-        end\r
-        // max(A,B) A and B have the same size\r
-    elseif rhs==2 then\r
-        // Only one output arg is possible...\r
-        if lhs > 1 then\r
-            error(msprintf(gettext("%s: Wrong number of output argument(s): %d expected.\n"),"mtlb_max", 1));\r
-        end\r
-\r
-        // Special case if A==[] and B==[]\r
-        if isempty(a) & isempty(b) then\r
-            r=[]\r
-            return\r
-        end\r
-\r
-        if ~isreal(a)|~isreal(b) then\r
-            if ~isreal(a,0) & isreal(b,0) then\r
-                [r,k]=max(abs(a),b)\r
-                for m=1:size(a,1)\r
-                    for n=1:size(a,2)\r
-                        if k(m,n)==1 then\r
-                            r(m,n)=a(m,n)\r
-                        end\r
-                    end\r
-                end\r
-            elseif isreal(a,0)&~isreal(b,0) then\r
-                [r,k]=max(a,abs(b))\r
-                for m=1:size(a,1)\r
-                    for n=1:size(a,2)\r
-                        if k(m,n)==2 then\r
-                            r(m,n)=b(m,n)\r
-                        end\r
-                    end\r
-                end\r
-            else\r
-                [r,k]=max(abs(a),abs(b))\r
-                for m=1:size(a,1)\r
-                    for n=1:size(a,2)\r
-                        if k(m,n)==1 then\r
-                            r(m,n)=a(m,n)\r
-                        else\r
-                            r(m,n)=b(m,n)\r
-                        end\r
-                    end\r
-                end\r
-            end\r
-        else\r
-            r = max(a,b)\r
-        end\r
-        // max(a,[],num) with num>2 or num is a variable name\r
-    elseif rhs==3 then\r
-        //If num>number of dims of a\r
-        if c>size(size(a),2) then\r
-            r=a\r
-            k=ones(size(a,1),size(a,2))\r
-        else\r
-            if c==1 then\r
-                c="r"\r
-            else\r
-                c="c"\r
-            end\r
-            if isreal(a) then\r
-                // a is a complex value\r
-                [r,k]=max(a,c)\r
-            else\r
-                [r,k]=max(abs(a),c)\r
-                // Replace values in r by original values of a\r
-                if find(size(k)<>1)==[] then //Scalar\r
-                    r=a(k)\r
-                elseif size(k,1)==1 then // Row Vector\r
-                    r=[]\r
-                    for l=1:size(k,"*")\r
-                        r=[r,a(k(l),l)]\r
-                    end\r
-                elseif size(k,2)==1 then // Column Vector\r
-                    r=[]\r
-                    for l=1:size(k,"*")\r
-                        r=[r;a(l,k(l))]\r
-                    end\r
-                else\r
-                    r=[]\r
-                    for m=1:size(k,1)\r
-                        tmp=[]\r
-                        for n=1:size(k,2)\r
-                            tmp=[tmp,a(k(m,n),n)];\r
-                        end\r
-                        r=[r;tmp]\r
-                    end\r
-                end\r
-            end\r
-        end\r
-    end\r
-endfunction\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [r,k]=mtlb_max(a,b,c)
+    // Emulation function for max() Matlab function
+
+    [lhs,rhs]=argn(0);
+
+    if rhs==2 then
+        if type(b)==10 then
+            rhs=1
+        end
+    end
+
+    if rhs==1 then //max(A)
+        // One output arg
+        if lhs==1 then
+            if ~isreal(a,0) then
+                if size(a,1)==1|size(a,2)==1 then
+                    [r,k]=max(abs(a))
+                    r=a(k)
+                else
+                    [r,k]=max(abs(a),"r")
+                    r=[]
+                    for l=1:size(a,2)
+                        r=[r,a(k(l),l)]
+                    end
+                end
+            else
+                if size(a,1)==1|size(a,2)==1 then
+                    r=max(a)
+                else
+                    r=max(a,"r")
+                end
+            end
+        else
+            if ~isreal(a,0) then
+                if size(a,1)==1|size(a,2)==1 then
+                    [r,k]=max(abs(a))
+                    r=a(k)
+                else
+                    [r,k]=max(abs(a),"r")
+                    r=[]
+                    for l=1:size(a,2)
+                        r=[r,a(k(l),l)]
+                    end
+                end
+            else
+                if size(a,1)==1|size(a,2)==1 then
+                    [r,k]=max(a)
+                else
+                    [r,k]=max(a,"r")
+                end
+            end
+        end
+        // max(A,B) A and B have the same size
+    elseif rhs==2 then
+        // Only one output arg is possible...
+        if lhs > 1 then
+            error(msprintf(gettext("%s: Wrong number of output argument(s): %d expected.\n"),"mtlb_max", 1));
+        end
+
+        // Special case if A==[] and B==[]
+        if isempty(a) & isempty(b) then
+            r=[]
+            return
+        end
+
+        if ~isreal(a)|~isreal(b) then
+            if ~isreal(a,0) & isreal(b,0) then
+                [r,k]=max(abs(a),b)
+                for m=1:size(a,1)
+                    for n=1:size(a,2)
+                        if k(m,n)==1 then
+                            r(m,n)=a(m,n)
+                        end
+                    end
+                end
+            elseif isreal(a,0)&~isreal(b,0) then
+                [r,k]=max(a,abs(b))
+                for m=1:size(a,1)
+                    for n=1:size(a,2)
+                        if k(m,n)==2 then
+                            r(m,n)=b(m,n)
+                        end
+                    end
+                end
+            else
+                [r,k]=max(abs(a),abs(b))
+                for m=1:size(a,1)
+                    for n=1:size(a,2)
+                        if k(m,n)==1 then
+                            r(m,n)=a(m,n)
+                        else
+                            r(m,n)=b(m,n)
+                        end
+                    end
+                end
+            end
+        else
+            r = max(a,b)
+        end
+        // max(a,[],num) with num>2 or num is a variable name
+    elseif rhs==3 then
+        //If num>number of dims of a
+        if c>size(size(a),2) then
+            r=a
+            k=ones(size(a,1),size(a,2))
+        else
+            if c==1 then
+                c="r"
+            else
+                c="c"
+            end
+            if isreal(a) then
+                // a is a complex value
+                [r,k]=max(a,c)
+            else
+                [r,k]=max(abs(a),c)
+                // Replace values in r by original values of a
+                if find(size(k)<>1)==[] then //Scalar
+                    r=a(k)
+                elseif size(k,1)==1 then // Row Vector
+                    r=[]
+                    for l=1:size(k,"*")
+                        r=[r,a(k(l),l)]
+                    end
+                elseif size(k,2)==1 then // Column Vector
+                    r=[]
+                    for l=1:size(k,"*")
+                        r=[r;a(l,k(l))]
+                    end
+                else
+                    r=[]
+                    for m=1:size(k,1)
+                        tmp=[]
+                        for n=1:size(k,2)
+                            tmp=[tmp,a(k(m,n),n)];
+                        end
+                        r=[r;tmp]
+                    end
+                end
+            end
+        end
+    end
+endfunction
+
+
index c9f7517..6266ef2 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function [r,k]=mtlb_min(a,b,c)\r
-    // Copyright INRIA\r
-    // Emulation function for min() Matlab function\r
-    // V.C.\r
-\r
-    [lhs,rhs]=argn(0);\r
-\r
-    if rhs==2 then\r
-        if type(b)==10 then\r
-            rhs=1\r
-        end\r
-    end\r
-\r
-    if rhs==1 then //min(A)\r
-        // One output arg\r
-        if lhs==1 then\r
-            if ~isreal(a,0) then\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    [r,k]=min(abs(a))\r
-                    r=a(k)\r
-                else\r
-                    [r,k]=min(abs(a),"r")\r
-                    r=[]\r
-                    for l=1:size(a,2)\r
-                        r=[r,a(k(l),l)]\r
-                    end\r
-                end\r
-            else\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    r=min(a)\r
-                else\r
-                    r=min(a,"r")\r
-                end\r
-            end\r
-        else\r
-            if ~isreal(a,0) then\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    [r,k]=min(abs(a))\r
-                    r=a(k)\r
-                else\r
-                    [r,k]=min(abs(a),"r")\r
-                    r=[]\r
-                    for l=1:size(a,2)\r
-                        r=[r,a(k(l),l)]\r
-                    end\r
-                end\r
-            else\r
-                if size(a,1)==1|size(a,2)==1 then\r
-                    [r,k]=min(a)\r
-                else\r
-                    [r,k]=min(a,"r")\r
-                end\r
-            end\r
-        end\r
-        // min(A,B) A and B have the same size\r
-    elseif rhs==2 then\r
-        // Only one output arg is possible...\r
-        if lhs > 1 then\r
-            error(msprintf(gettext("%s: Wrong number of output argument(s): %d expected.\n"),"mtlb_min", 1));\r
-        end\r
-\r
-        // Special case if A==[] and B==[]\r
-        if isempty(a) | isempty(b) then\r
-            r=[]\r
-            return\r
-        end\r
-\r
-        if ~isreal(a)|~isreal(b) then\r
-            if ~isreal(a,0)&isreal(b,0) then\r
-                [r,k]=min(abs(a),b)\r
-                for m=1:size(a,1)\r
-                    for n=1:size(a,2)\r
-                        if k(m,n)==1 then\r
-                            r(m,n)=a(m,n)\r
-                        end\r
-                    end\r
-                end\r
-            elseif isreal(a,0)&~isreal(b,0) then\r
-                [r,k]=min(a,abs(b))\r
-                for m=1:size(a,1)\r
-                    for n=1:size(a,2)\r
-                        if k(m,n)==2 then\r
-                            r(m,n)=b(m,n)\r
-                        end\r
-                    end\r
-                end\r
-            else\r
-                [r,k]=min(abs(a),abs(b))\r
-                for m=1:size(a,1)\r
-                    for n=1:size(a,2)\r
-                        if k(m,n)==1 then\r
-                            r(m,n)=a(m,n)\r
-                        else\r
-                            r(m,n)=b(m,n)\r
-                        end\r
-                    end\r
-                end\r
-            end\r
-        else\r
-            r = min(a,b)\r
-        end\r
-        // min(a,[],num) with num>2 or num is a variable name\r
-    elseif rhs==3 then\r
-        //If num>number of dims of a\r
-        if c>size(size(a),2) then\r
-            r=a\r
-            k=ones(size(a,1),size(a,2))\r
-        else\r
-            if c==1 then\r
-                c="r"\r
-            else\r
-                c="c"\r
-            end\r
-            if isreal(a) then\r
-                // a is a complex value\r
-                [r,k]=min(a,c)\r
-            else\r
-                [r,k]=min(abs(a),c)\r
-                // Replace values in r by original values of a\r
-                if find(size(k)<>1)==[] then //Scalar\r
-                    r=a(k)\r
-                elseif size(k,1)==1 then // Row Vector\r
-                    r=[]\r
-                    for l=1:size(k,"*")\r
-                        r=[r,a(k(l),l)]\r
-                    end\r
-                elseif size(k,2)==1 then // Column Vector\r
-                    r=[]\r
-                    for l=1:size(k,"*")\r
-                        r=[r;a(l,k(l))]\r
-                    end\r
-                else\r
-                    r=[]\r
-                    for m=1:size(k,1)\r
-                        tmp=[]\r
-                        for n=1:size(k,2)\r
-                            tmp=[tmp,a(k(m,n),n)];\r
-                        end\r
-                        r=[r;tmp]\r
-                    end\r
-                end\r
-            end\r
-        end\r
-    end\r
-endfunction\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [r,k]=mtlb_min(a,b,c)
+    // Copyright INRIA
+    // Emulation function for min() Matlab function
+    // V.C.
+
+    [lhs,rhs]=argn(0);
+
+    if rhs==2 then
+        if type(b)==10 then
+            rhs=1
+        end
+    end
+
+    if rhs==1 then //min(A)
+        // One output arg
+        if lhs==1 then
+            if ~isreal(a,0) then
+                if size(a,1)==1|size(a,2)==1 then
+                    [r,k]=min(abs(a))
+                    r=a(k)
+                else
+                    [r,k]=min(abs(a),"r")
+                    r=[]
+                    for l=1:size(a,2)
+                        r=[r,a(k(l),l)]
+                    end
+                end
+            else
+                if size(a,1)==1|size(a,2)==1 then
+                    r=min(a)
+                else
+                    r=min(a,"r")
+                end
+            end
+        else
+            if ~isreal(a,0) then
+                if size(a,1)==1|size(a,2)==1 then
+                    [r,k]=min(abs(a))
+                    r=a(k)
+                else
+                    [r,k]=min(abs(a),"r")
+                    r=[]
+                    for l=1:size(a,2)
+                        r=[r,a(k(l),l)]
+                    end
+                end
+            else
+                if size(a,1)==1|size(a,2)==1 then
+                    [r,k]=min(a)
+                else
+                    [r,k]=min(a,"r")
+                end
+            end
+        end
+        // min(A,B) A and B have the same size
+    elseif rhs==2 then
+        // Only one output arg is possible...
+        if lhs > 1 then
+            error(msprintf(gettext("%s: Wrong number of output argument(s): %d expected.\n"),"mtlb_min", 1));
+        end
+
+        // Special case if A==[] and B==[]
+        if isempty(a) | isempty(b) then
+            r=[]
+            return
+        end
+
+        if ~isreal(a)|~isreal(b) then
+            if ~isreal(a,0)&isreal(b,0) then
+                [r,k]=min(abs(a),b)
+                for m=1:size(a,1)
+                    for n=1:size(a,2)
+                        if k(m,n)==1 then
+                            r(m,n)=a(m,n)
+                        end
+                    end
+                end
+            elseif isreal(a,0)&~isreal(b,0) then
+                [r,k]=min(a,abs(b))
+                for m=1:size(a,1)
+                    for n=1:size(a,2)
+                        if k(m,n)==2 then
+                            r(m,n)=b(m,n)
+                        end
+                    end
+                end
+            else
+                [r,k]=min(abs(a),abs(b))
+                for m=1:size(a,1)
+                    for n=1:size(a,2)
+                        if k(m,n)==1 then
+                            r(m,n)=a(m,n)
+                        else
+                            r(m,n)=b(m,n)
+                        end
+                    end
+                end
+            end
+        else
+            r = min(a,b)
+        end
+        // min(a,[],num) with num>2 or num is a variable name
+    elseif rhs==3 then
+        //If num>number of dims of a
+        if c>size(size(a),2) then
+            r=a
+            k=ones(size(a,1),size(a,2))
+        else
+            if c==1 then
+                c="r"
+            else
+                c="c"
+            end
+            if isreal(a) then
+                // a is a complex value
+                [r,k]=min(a,c)
+            else
+                [r,k]=min(abs(a),c)
+                // Replace values in r by original values of a
+                if find(size(k)<>1)==[] then //Scalar
+                    r=a(k)
+                elseif size(k,1)==1 then // Row Vector
+                    r=[]
+                    for l=1:size(k,"*")
+                        r=[r,a(k(l),l)]
+                    end
+                elseif size(k,2)==1 then // Column Vector
+                    r=[]
+                    for l=1:size(k,"*")
+                        r=[r;a(l,k(l))]
+                    end
+                else
+                    r=[]
+                    for m=1:size(k,1)
+                        tmp=[]
+                        for n=1:size(k,2)
+                            tmp=[tmp,a(k(m,n),n)];
+                        end
+                        r=[r;tmp]
+                    end
+                end
+            end
+        end
+    end
+endfunction
+
+
index ace2c0a..badcf08 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Console",SCI+"/modules/console/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Console",SCI+"/modules/console/help/ja_JP",%T);
+
index ee8bfcb..7ef636a 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Scilab",SCI+"/modules/core/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Scilab",SCI+"/modules/core/help/ja_JP",%T);
+
index fcea31a..6a729d5 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Data Structures",SCI+"/modules/data_structures/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Data Structures",SCI+"/modules/data_structures/help/ja_JP",%T);
+
index c2a7efe..b698481 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Demo Tools",SCI+"/modules/demo_tools/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Demo Tools",SCI+"/modules/demo_tools/help/ja_JP",%T);
+
index 793f6b7..6c89bcf 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Development tools",SCI+"/modules/development_tools/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Development tools",SCI+"/modules/development_tools/help/ja_JP",%T);
+
index be1bee6..c969a46 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Differential Equations, Integration",SCI+"/modules/differential_equations/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Differential Equations, Integration",SCI+"/modules/differential_equations/help/ja_JP",%T);
+
index 3f58d77..87fba5c 100644 (file)
@@ -1,92 +1,92 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) INRIA\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function %x=integrate(%expr,%var,%x0,%x1,%ea,%er)\r
-    // x=integrate(expr,v,x0,x1 [,ea [,er]])  computes\r
-    //                      /x1\r
-    //                     [\r
-    //                 x = I  f(v)dv\r
-    //                     ]\r
-    //                    /x0\r
-    //\r
-    //\r
-    //examples:\r
-    //integrate('sin(x)','x',0,%pi)\r
-    //integrate(['if x==0 then 1,';\r
-    //           'else sin(x)/x,end'],'x',0,%pi)\r
-    rhs = argn(2);\r
-\r
-    if rhs < 4 then\r
-        error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"),"integrate",4));\r
-    end\r
-\r
-    select rhs\r
-    case 4 then\r
-        %ea=1d-14;%er=1.d-8\r
-    case 5 then\r
-        %er=1d-14;\r
-    end\r
-\r
-    if size(%x0,"*")<>1 then\r
-        error(msprintf(gettext("%s: Wrong size for input argument #%d: A real expected.\n"),"integrate",3));\r
-    end\r
-\r
-    if size(%ea,"*")<>1 then\r
-        error(msprintf(gettext("%s: Wrong size for input argument #%d: A real expected.\n"),"integrate",5));\r
-    end\r
-\r
-    if size(%er,"*")<>1 then\r
-        error(msprintf(gettext("%s: Wrong size for input argument #%d: A real expected.\n"),"integrate",6));\r
-    end\r
-\r
-    if imag(%x0)<>0 then\r
-        error(msprintf(gettext("%s: Wrong type for input argument #%d: A real expected.\n"),"integrate",3));\r
-    end\r
-\r
-    if norm(imag(%x1),1)<>0 then\r
-        error(msprintf(gettext("%s: Wrong type for input argument #%d: A real expected.\n"),"integrate",4));\r
-    else\r
-        %x1=real(%x1)\r
-    end\r
-    //\r
-\r
-    try\r
-        if %expr==%var then\r
-            deff(%var+"=%func("+%var+")",%expr)\r
-        else\r
-            deff("ans=%func("+%var+")",%expr)\r
-        end\r
-    catch\r
-        error(msprintf(gettext("%s: Wrong value for input argument #%d: syntax error in given expression\n"),"integrate",1));\r
-    end\r
-\r
-    if strstr(%expr,"%i") <> "" then\r
-        error(msprintf(_("%s: Wrong value for input argument #%d: A real expected.\n"),"integrate",1));\r
-    end\r
-\r
-    [%x1,%ks]=gsort(%x1,"g","i")\r
-    %x=zeros(%x1)\r
-\r
-    %kkk=find((%x1(1:$-1)<%x0) & (%x1(2:$)>=%x0))\r
-    if %kkk <>[] then\r
-        %xx0=%x0;\r
-        for %kk=1:%kkk\r
-            %x(%kk)=-intg(%xx0,%x1(%kk),%func,%ea,%er);\r
-            %xx0=%x1(%kk);\r
-        end\r
-    end\r
-    %xx0=%x0;\r
-    for %kk=1:size(%x1,"*")\r
-        %x(%kk)=intg(%xx0,%x1(%kk),%func,%ea,%er);\r
-        %xx0=%x1(%kk);\r
-    end\r
-    %x=cumsum(%x)\r
-    %x=matrix(%x(%ks),size(%x1));\r
-\r
-endfunction\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function %x=integrate(%expr,%var,%x0,%x1,%ea,%er)
+    // x=integrate(expr,v,x0,x1 [,ea [,er]])  computes
+    //                      /x1
+    //                     [
+    //                 x = I  f(v)dv
+    //                     ]
+    //                    /x0
+    //
+    //
+    //examples:
+    //integrate('sin(x)','x',0,%pi)
+    //integrate(['if x==0 then 1,';
+    //           'else sin(x)/x,end'],'x',0,%pi)
+    rhs = argn(2);
+
+    if rhs < 4 then
+        error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"),"integrate",4));
+    end
+
+    select rhs
+    case 4 then
+        %ea=1d-14;%er=1.d-8
+    case 5 then
+        %er=1d-14;
+    end
+
+    if size(%x0,"*")<>1 then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: A real expected.\n"),"integrate",3));
+    end
+
+    if size(%ea,"*")<>1 then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: A real expected.\n"),"integrate",5));
+    end
+
+    if size(%er,"*")<>1 then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: A real expected.\n"),"integrate",6));
+    end
+
+    if imag(%x0)<>0 then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: A real expected.\n"),"integrate",3));
+    end
+
+    if norm(imag(%x1),1)<>0 then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: A real expected.\n"),"integrate",4));
+    else
+        %x1=real(%x1)
+    end
+    //
+
+    try
+        if %expr==%var then
+            deff(%var+"=%func("+%var+")",%expr)
+        else
+            deff("ans=%func("+%var+")",%expr)
+        end
+    catch
+        error(msprintf(gettext("%s: Wrong value for input argument #%d: syntax error in given expression\n"),"integrate",1));
+    end
+
+    if strstr(%expr,"%i") <> "" then
+        error(msprintf(_("%s: Wrong value for input argument #%d: A real expected.\n"),"integrate",1));
+    end
+
+    [%x1,%ks]=gsort(%x1,"g","i")
+    %x=zeros(%x1)
+
+    %kkk=find((%x1(1:$-1)<%x0) & (%x1(2:$)>=%x0))
+    if %kkk <>[] then
+        %xx0=%x0;
+        for %kk=1:%kkk
+            %x(%kk)=-intg(%xx0,%x1(%kk),%func,%ea,%er);
+            %xx0=%x1(%kk);
+        end
+    end
+    %xx0=%x0;
+    for %kk=1:size(%x1,"*")
+        %x(%kk)=intg(%xx0,%x1(%kk),%func,%ea,%er);
+        %xx0=%x1(%kk);
+    end
+    %x=cumsum(%x)
+    %x=matrix(%x(%ks),size(%x1));
+
+endfunction
index bdb87a4..a27bf6d 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Dynamic/incremental Link",SCI+"/modules/dynamic_link/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Dynamic/incremental Link",SCI+"/modules/dynamic_link/help/ja_JP",%T);
+
index a96afcc..d86f5b9 100755 (executable)
@@ -1,12 +1,12 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Elementary Functions",SCI+"/modules/elementary_functions/help/ja_JP",%T);\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Elementary Functions",SCI+"/modules/elementary_functions/help/ja_JP",%T);
+
+
index ac6a84f..cf679a0 100644 (file)
@@ -1,92 +1,92 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyrifht (C) 2012 - Scilab Enterprises - Cedric Delamarre\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function [S, k] = %hm_gsort(A, optsort, directionsort)\r
-    rhs = argn(2);\r
-    lhs = argn(1);\r
-    // arguments by default in gsort\r
-    select rhs\r
-    case 1\r
-        optsort = "g";\r
-        directionsort = "d";\r
-    case 2\r
-        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'\r
-        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);\r
-        if pos_opts == [] then\r
-            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));\r
-        end\r
-        directionsort = "d";\r
-    else\r
-        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'\r
-        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);\r
-        // directionsort can be: 'd' or 'i'\r
-        pos_direction = find(directionsort == ["d", "i"]);\r
-        if pos_opts == [] then\r
-            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));\r
-        end\r
-        if pos_direction == [] then\r
-            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'' or ''%s'' expected.\n"), "gsort", 3, "d", "i"));\r
-        end\r
-    end\r
-\r
-    if(lhs == 1) // without output indices, gsort is faster.\r
-        if optsort == "g"\r
-            S = gsort(A(:), optsort, directionsort);\r
-            S = matrix(S, size(A));\r
-        else // 'r' 'c' 'lr' 'lc'\r
-            sizes = size(A);\r
-\r
-            // transform input hypermatrix to a hypermatrix of 3 dimensions\r
-            l = prod(sizes(3:$));\r
-            mat = matrix(A,sizes(1), sizes(2), l);\r
-\r
-            // init output variables\r
-            S = zeros(sizes(1), sizes(2), l);\r
-\r
-            // perform a 2D sort for each dimensions > 2\r
-            for i = 1:l\r
-                S(:,:,i) = gsort(mat(:,:,i), optsort, directionsort);\r
-            end\r
-\r
-            // return the result with the good dimensions\r
-            S = matrix(S, sizes);\r
-        end\r
-    else\r
-        if optsort == "g"\r
-            [S, k] = gsort(A(:), optsort, directionsort);\r
-            S = matrix(S, size(A));\r
-            k = matrix(k, size(A));\r
-        else // 'r' 'c' 'lr' 'lc'\r
-            sizes = size(A);\r
-            sizesInd = size(A);\r
-\r
-            // transform input hypermatrix to a hypermatrix of 3 dimensions\r
-            l = prod(sizes(3:$));\r
-            mat = matrix(A,sizes(1), sizes(2), l);\r
-\r
-            // init output variables\r
-            S = zeros(sizes(1), sizes(2), l);\r
-            if optsort == "lc"\r
-                sizesInd(1) = 1;\r
-            elseif optsort == "lr"\r
-                sizesInd(2) = 1;\r
-            end\r
-            k = zeros(sizesInd(1), sizesInd(2), l);\r
-\r
-            // perform a 2D sort for each dimensions > 2\r
-            for i = 1:l\r
-                [S(:,:,i), k(:,:,i)] = gsort(mat(:,:,i), optsort, directionsort);\r
-            end\r
-\r
-            // return the result with the good dimensions\r
-            S = matrix(S, sizes);\r
-            k = matrix(k, sizesInd);\r
-        end\r
-    end\r
-endfunction\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyrifht (C) 2012 - Scilab Enterprises - Cedric Delamarre
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [S, k] = %hm_gsort(A, optsort, directionsort)
+    rhs = argn(2);
+    lhs = argn(1);
+    // arguments by default in gsort
+    select rhs
+    case 1
+        optsort = "g";
+        directionsort = "d";
+    case 2
+        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'
+        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);
+        if pos_opts == [] then
+            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));
+        end
+        directionsort = "d";
+    else
+        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'
+        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);
+        // directionsort can be: 'd' or 'i'
+        pos_direction = find(directionsort == ["d", "i"]);
+        if pos_opts == [] then
+            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));
+        end
+        if pos_direction == [] then
+            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'' or ''%s'' expected.\n"), "gsort", 3, "d", "i"));
+        end
+    end
+
+    if(lhs == 1) // without output indices, gsort is faster.
+        if optsort == "g"
+            S = gsort(A(:), optsort, directionsort);
+            S = matrix(S, size(A));
+        else // 'r' 'c' 'lr' 'lc'
+            sizes = size(A);
+
+            // transform input hypermatrix to a hypermatrix of 3 dimensions
+            l = prod(sizes(3:$));
+            mat = matrix(A,sizes(1), sizes(2), l);
+
+            // init output variables
+            S = zeros(sizes(1), sizes(2), l);
+
+            // perform a 2D sort for each dimensions > 2
+            for i = 1:l
+                S(:,:,i) = gsort(mat(:,:,i), optsort, directionsort);
+            end
+
+            // return the result with the good dimensions
+            S = matrix(S, sizes);
+        end
+    else
+        if optsort == "g"
+            [S, k] = gsort(A(:), optsort, directionsort);
+            S = matrix(S, size(A));
+            k = matrix(k, size(A));
+        else // 'r' 'c' 'lr' 'lc'
+            sizes = size(A);
+            sizesInd = size(A);
+
+            // transform input hypermatrix to a hypermatrix of 3 dimensions
+            l = prod(sizes(3:$));
+            mat = matrix(A,sizes(1), sizes(2), l);
+
+            // init output variables
+            S = zeros(sizes(1), sizes(2), l);
+            if optsort == "lc"
+                sizesInd(1) = 1;
+            elseif optsort == "lr"
+                sizesInd(2) = 1;
+            end
+            k = zeros(sizesInd(1), sizesInd(2), l);
+
+            // perform a 2D sort for each dimensions > 2
+            for i = 1:l
+                [S(:,:,i), k(:,:,i)] = gsort(mat(:,:,i), optsort, directionsort);
+            end
+
+            // return the result with the good dimensions
+            S = matrix(S, sizes);
+            k = matrix(k, sizesInd);
+        end
+    end
+endfunction
index 20e0f19..11f28b2 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) DIGITEO - 2009 - Allan CORNET\r
-// Copyrifht (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function [A, k] = %sp_gsort(A, optsort, directionsort)\r
-    rhs = argn(2);\r
-    lhs = argn(1);\r
-    // arguments by default in gsort\r
-    select rhs\r
-    case 1\r
-        optsort = "g";\r
-        directionsort = "d";\r
-    case 2\r
-        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'\r
-        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);\r
-        if pos_opts == [] then\r
-            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));\r
-        end\r
-        directionsort = "d";\r
-    else\r
-        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'\r
-        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);\r
-        // directionsort can be: 'd' or 'i'\r
-        pos_direction = find(directionsort == ["d", "i"]);\r
-        if pos_opts == [] then\r
-            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));\r
-        end\r
-        if pos_direction == [] then\r
-            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'' or ''%s'' expected.\n"), "gsort", 3, "d", "i"));\r
-        end\r
-    end\r
-\r
-    [ij, v, mn] = spget(A);\r
-    if mn(1) <> 1 & mn(2) <> 1 then\r
-        error(999,msprintf(_("%s: Wrong size for input argument #%d: sparse vectors expected.\n"), "gsort", 1));\r
-    end\r
-\r
-    if mn(1) == 1 then\r
-        // if A is a row vector and optsort = 'r', the result is the\r
-        // first input argument\r
-        if strcmp(optsort, "r") == 0 |strcmp(optsort, "lr") == 0 | v == [] then\r
-            A = A;\r
-            if lhs == 2 then\r
-                if strcmp(optsort, "lr") == 0 | ij == [] then\r
-                    k = 1;\r
-                else\r
-                    k = ij(:,1);\r
-                    k = k';\r
-                end\r
-            end\r
-        else\r
-            dif = mn(2) - length(v);\r
-            if lhs == 1 then\r
-                v = gsort(v', optsort, directionsort);\r
-            else\r
-                [v, k] = gsort(v', optsort, directionsort);\r
-                k=ij(k,2)';\r
-            end\r
-\r
-            //Obtain the indices corresponding to positive values of v\r
-            // and negative value of v\r
-            // If A is complex, the elements are sorted by magnitude\r
-            if isreal(A) then\r
-                last = find(v<0);\r
-                first = find(v>0);\r
-            else\r
-                s = abs(v);\r
-                last = find(s<0);\r
-                first = find(s>0);\r
-            end\r
-\r
-            // Sort the indices\r
-            if last == [] & first <> [] then\r
-                if strcmp(directionsort, "i")== 0 then\r
-                    ij(:,2) = first(:) + dif;\r
-                else\r
-                    ij(:,2) = first(:);\r
-                end\r
-            elseif first == [] & last <> [] then\r
-                if strcmp(directionsort, "i")== 0 then\r
-                    ij(:,1) = last(:);\r
-                else\r
-                    ij(:,1) = last(:) + dif;\r
-                end\r
-            else\r
-                if strcmp(directionsort, "i")== 0 then\r
-                    ij(:,2) = [last(:); first(:) + dif];\r
-                else\r
-                    ij(:,2) = [first(:); last(:) + dif];\r
-                end\r
-            end\r
-            A = sparse(ij,v,mn);\r
-        end\r
-    end\r
-\r
-    if mn(2) == 1 then\r
-        // if A is a column vector and optsort = 'c', the result is the\r
-        // first input argument\r
-        if strcmp(optsort, "c") == 0 | strcmp(optsort, "lc") == 0 | v == [] then\r
-            A = A;\r
-            if lhs == 2 then\r
-                if strcmp(optsort, "lc") == 0 | ij == [] then\r
-                    k = 1;\r
-                else\r
-                    k = ij(:,2);\r
-                    k = k;\r
-                end\r
-            end\r
-        else\r
-\r
-            dif = mn(1) - length(v);\r
-            if lhs == 1 then\r
-                v = gsort(v, optsort, directionsort);\r
-            else\r
-                [v, k] = gsort(v, optsort, directionsort);\r
-                k=ij(k,1);\r
-            end\r
-\r
-            //Obtain the indices corresponding to positive values of v\r
-            // and negative value of v\r
-            // If A is complex, the elements are sorted by magnitude\r
-            if isreal(A) then\r
-                last = find(v<0);\r
-                first = find(v>0);\r
-            else\r
-                s = abs(v);\r
-                last = find(s<0);\r
-                first = find(s>0);\r
-            end\r
-\r
-            // sort the indices in terms of directionsort = 'i' or 'd'\r
-            // if directionsort='i' and v>0, the elements are sorted in the\r
-            // increasing order, ie [0,..,v] and, conversely, in the decreasing\r
-            // order the elements are sorted : [v,..,0]\r
-            // if v<0, the elements are sorted in the increasing order,\r
-            // ie [v,..,0] and, conversely, in the decreasing order the\r
-            // elements are sorted : [0,..,v]\r
-            // And else, if v contains positive and neqative values, the\r
-            // elements are sorted in the increasing order,ie [v_neg,0,v_pos],\r
-            // and conversely for the decreasing order.\r
-            if last == [] & first <> [] then\r
-                if strcmp(directionsort, "i") == 0 then\r
-                    ij(:,1) = first(:) + dif;\r
-                else\r
-                    ij(:,1) = first(:);\r
-                end\r
-            elseif first == [] & last <> [] then\r
-                if strcmp(directionsort, "i") == 0 then\r
-                    ij(:,1) = last(:);\r
-                else\r
-                    ij(:,1) = last(:) + dif;\r
-                end\r
-            else\r
-                if strcmp(directionsort, "i") == 0 then\r
-                    ij(:,1) = [last(:); first(:) + dif];\r
-                else\r
-                    ij(:,1) = [first(:); last(:) + dif];\r
-                end\r
-            end\r
-            A = sparse(ij, v, mn);\r
-        end\r
-    end\r
-endfunction\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) DIGITEO - 2009 - Allan CORNET
+// Copyrifht (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function [A, k] = %sp_gsort(A, optsort, directionsort)
+    rhs = argn(2);
+    lhs = argn(1);
+    // arguments by default in gsort
+    select rhs
+    case 1
+        optsort = "g";
+        directionsort = "d";
+    case 2
+        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'
+        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);
+        if pos_opts == [] then
+            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));
+        end
+        directionsort = "d";
+    else
+        // optsort can be: 'r', 'c', 'g', 'lr', 'lc'
+        pos_opts = find(optsort == ["r", "c", "g", "lr", "lc"]);
+        // directionsort can be: 'd' or 'i'
+        pos_direction = find(directionsort == ["d", "i"]);
+        if pos_opts == [] then
+            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', ''%s'' or ''%s'' expected.\n"), "gsort", 2, "r", "c", "g", "lr", "lc"));
+        end
+        if pos_direction == [] then
+            error(msprintf(_("%s: Wrong value for input argument #%d: ''%s'' or ''%s'' expected.\n"), "gsort", 3, "d", "i"));
+        end
+    end
+
+    [ij, v, mn] = spget(A);
+    if mn(1) <> 1 & mn(2) <> 1 then
+        error(999,msprintf(_("%s: Wrong size for input argument #%d: sparse vectors expected.\n"), "gsort", 1));
+    end
+
+    if mn(1) == 1 then
+        // if A is a row vector and optsort = 'r', the result is the
+        // first input argument
+        if strcmp(optsort, "r") == 0 |strcmp(optsort, "lr") == 0 | v == [] then
+            A = A;
+            if lhs == 2 then
+                if strcmp(optsort, "lr") == 0 | ij == [] then
+                    k = 1;
+                else
+                    k = ij(:,1);
+                    k = k';
+                end
+            end
+        else
+            dif = mn(2) - length(v);
+            if lhs == 1 then
+                v = gsort(v', optsort, directionsort);
+            else
+                [v, k] = gsort(v', optsort, directionsort);
+                k=ij(k,2)';
+            end
+
+            //Obtain the indices corresponding to positive values of v
+            // and negative value of v
+            // If A is complex, the elements are sorted by magnitude
+            if isreal(A) then
+                last = find(v<0);
+                first = find(v>0);
+            else
+                s = abs(v);
+                last = find(s<0);
+                first = find(s>0);
+            end
+
+            // Sort the indices
+            if last == [] & first <> [] then
+                if strcmp(directionsort, "i")== 0 then
+                    ij(:,2) = first(:) + dif;
+                else
+                    ij(:,2) = first(:);
+                end
+            elseif first == [] & last <> [] then
+                if strcmp(directionsort, "i")== 0 then
+                    ij(:,1) = last(:);
+                else
+                    ij(:,1) = last(:) + dif;
+                end
+            else
+                if strcmp(directionsort, "i")== 0 then
+                    ij(:,2) = [last(:); first(:) + dif];
+                else
+                    ij(:,2) = [first(:); last(:) + dif];
+                end
+            end
+            A = sparse(ij,v,mn);
+        end
+    end
+
+    if mn(2) == 1 then
+        // if A is a column vector and optsort = 'c', the result is the
+        // first input argument
+        if strcmp(optsort, "c") == 0 | strcmp(optsort, "lc") == 0 | v == [] then
+            A = A;
+            if lhs == 2 then
+                if strcmp(optsort, "lc") == 0 | ij == [] then
+                    k = 1;
+                else
+                    k = ij(:,2);
+                    k = k;
+                end
+            end
+        else
+
+            dif = mn(1) - length(v);
+            if lhs == 1 then
+                v = gsort(v, optsort, directionsort);
+            else
+                [v, k] = gsort(v, optsort, directionsort);
+                k=ij(k,1);
+            end
+
+            //Obtain the indices corresponding to positive values of v
+            // and negative value of v
+            // If A is complex, the elements are sorted by magnitude
+            if isreal(A) then
+                last = find(v<0);
+                first = find(v>0);
+            else
+                s = abs(v);
+                last = find(s<0);
+                first = find(s>0);
+            end
+
+            // sort the indices in terms of directionsort = 'i' or 'd'
+            // if directionsort='i' and v>0, the elements are sorted in the
+            // increasing order, ie [0,..,v] and, conversely, in the decreasing
+            // order the elements are sorted : [v,..,0]
+            // if v<0, the elements are sorted in the increasing order,
+            // ie [v,..,0] and, conversely, in the decreasing order the
+            // elements are sorted : [0,..,v]
+            // And else, if v contains positive and neqative values, the
+            // elements are sorted in the increasing order,ie [v_neg,0,v_pos],
+            // and conversely for the decreasing order.
+            if last == [] & first <> [] then
+                if strcmp(directionsort, "i") == 0 then
+                    ij(:,1) = first(:) + dif;
+                else
+                    ij(:,1) = first(:);
+                end
+            elseif first == [] & last <> [] then
+                if strcmp(directionsort, "i") == 0 then
+                    ij(:,1) = last(:);
+                else
+                    ij(:,1) = last(:) + dif;
+                end
+            else
+                if strcmp(directionsort, "i") == 0 then
+                    ij(:,1) = [last(:); first(:) + dif];
+                else
+                    ij(:,1) = [first(:); last(:) + dif];
+                end
+            end
+            A = sparse(ij, v, mn);
+        end
+    end
+endfunction
index fae1828..aaac3ad 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("FFTW",SCI+"/modules/fftw/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("FFTW",SCI+"/modules/fftw/help/ja_JP",%T);
+
index 01d6447..50bfd2d 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Files : Input/Output functions",SCI+"/modules/fileio/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Files : Input/Output functions",SCI+"/modules/fileio/help/ja_JP",%T);
+
index 3446ef5..446f3b3 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Functions",SCI+"/modules/functions/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Functions",SCI+"/modules/functions/help/ja_JP",%T);
+
index a5ad2c1..2eda86b 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Genetic Algorithms",SCI+"/modules/genetic_algorithms/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Genetic Algorithms",SCI+"/modules/genetic_algorithms/help/ja_JP",%T);
+
index 325ed0e..37f3ba9 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Graphics : exporting and printing",SCI+"/modules/graphic_export/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Graphics : exporting and printing",SCI+"/modules/graphic_export/help/ja_JP",%T);
+
index 934edd8..8daf633 100644 (file)
@@ -1,99 +1,99 @@
-/*\r
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
- * Copyright (C) 2012 - Pedro Arthur dos S. Souza\r
- * Copyright (C) 2012 - Caio Lucas dos S. Souza\r
- *\r
- * This file must be used under the terms of the CeCILL.\r
- * This source file is licensed as described in the file COPYING, which\r
- * you should have received as part of this distribution.  The terms\r
- * are also available at\r
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt\r
- *\r
- */\r
-#include <stdio.h>\r
-#include <string.h>\r
-\r
-extern "C"\r
-{\r
-#include "createGraphicObject.h"\r
-#include "deleteGraphicObject.h"\r
-#include "returnType.h"\r
-#include "getGraphicObjectProperty.h"\r
-#include "setGraphicObjectProperty.h"\r
-#include "graphicObjectProperties.h"\r
-\r
-    int createObject3dData(int obj, int newObj, int type);\r
-\r
-}\r
-/*\r
- * Create the data object for the newObj\r
- * and copy the data from obj to newObj.\r
- */\r
-int createObject3dData(int obj, int newObj, int type)\r
-{\r
-    double *pvecx, *pvecy, *pvecz;\r
-    int dataObj = 0;\r
-    int numElementsArray[3];\r
-    BOOL result;\r
-    int *ptr;\r
-\r
-    dataObj = createDataObject(newObj, type);\r
-\r
-    if (dataObj == 0)\r
-    {\r
-        return 0;\r
-    }\r
-\r
-\r
-    if (type == __GO_PLOT3D__ || type == __GO_GRAYPLOT__)\r
-    {\r
-        ptr = &numElementsArray[0];\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_X__, jni_int, (void**)&ptr);\r
-        ptr = &numElementsArray[1];\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**)&ptr);\r
-        ptr = &numElementsArray[2];\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_Z__, jni_int, (void**)&ptr);\r
-\r
-        int grid[] = {1, numElementsArray[0], 1, numElementsArray[1]};\r
-        result = setGraphicObjectProperty(newObj, __GO_DATA_MODEL_GRID_SIZE__, grid, jni_int_vector, 4);\r
-    }\r
-    else if (type == __GO_FAC3D__)\r
-    {\r
-        int ng = 0, nvg = 0;\r
-        int *png = &ng, *pnvg = &nvg;\r
-        int numColors;\r
-        int *pNumColors = &numColors;\r
-        double *Colors;\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &png);\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pnvg);\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_COLORS__, jni_int, (void**)&pNumColors);\r
-        getGraphicObjectProperty(obj, __GO_DATA_MODEL_COLORS__, jni_double_vector, (void**)&pNumColors);\r
-\r
-        numElementsArray[0] = numElementsArray[1] = numElementsArray[2] = ng * nvg;\r
-\r
-        int elements[] = {ng, nvg, numColors};\r
-        result = setGraphicObjectProperty(newObj, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &elements, jni_int_vector, 3);\r
-        setGraphicObjectProperty(newObj, __GO_DATA_MODEL_COLORS__, Colors, jni_double_vector, numColors);\r
-    }\r
-    else\r
-    {\r
-        return 0;\r
-    }\r
-\r
-\r
-    if (result == 0)\r
-    {\r
-        deleteDataObject(dataObj);\r
-        return 0;\r
-    }\r
-\r
-    getGraphicObjectProperty(obj, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&pvecx);\r
-    getGraphicObjectProperty(obj, __GO_DATA_MODEL_Y__, jni_double_vector, (void**)&pvecy);\r
-    getGraphicObjectProperty(obj, __GO_DATA_MODEL_Z__, jni_double_vector, (void**)&pvecz);\r
-\r
-    setGraphicObjectProperty(newObj, __GO_DATA_MODEL_X__, pvecx, jni_double_vector, numElementsArray[0]);\r
-    setGraphicObjectProperty(newObj, __GO_DATA_MODEL_Y__, pvecy, jni_double_vector, numElementsArray[1]);\r
-    setGraphicObjectProperty(newObj, __GO_DATA_MODEL_Z__, pvecz, jni_double_vector, numElementsArray[2]);\r
-\r
-    return dataObj;\r
-}\r
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Pedro Arthur dos S. Souza
+ * Copyright (C) 2012 - Caio Lucas dos S. Souza
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+
+extern "C"
+{
+#include "createGraphicObject.h"
+#include "deleteGraphicObject.h"
+#include "returnType.h"
+#include "getGraphicObjectProperty.h"
+#include "setGraphicObjectProperty.h"
+#include "graphicObjectProperties.h"
+
+    int createObject3dData(int obj, int newObj, int type);
+
+}
+/*
+ * Create the data object for the newObj
+ * and copy the data from obj to newObj.
+ */
+int createObject3dData(int obj, int newObj, int type)
+{
+    double *pvecx, *pvecy, *pvecz;
+    int dataObj = 0;
+    int numElementsArray[3];
+    BOOL result;
+    int *ptr;
+
+    dataObj = createDataObject(newObj, type);
+
+    if (dataObj == 0)
+    {
+        return 0;
+    }
+
+
+    if (type == __GO_PLOT3D__ || type == __GO_GRAYPLOT__)
+    {
+        ptr = &numElementsArray[0];
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_X__, jni_int, (void**)&ptr);
+        ptr = &numElementsArray[1];
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**)&ptr);
+        ptr = &numElementsArray[2];
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_Z__, jni_int, (void**)&ptr);
+
+        int grid[] = {1, numElementsArray[0], 1, numElementsArray[1]};
+        result = setGraphicObjectProperty(newObj, __GO_DATA_MODEL_GRID_SIZE__, grid, jni_int_vector, 4);
+    }
+    else if (type == __GO_FAC3D__)
+    {
+        int ng = 0, nvg = 0;
+        int *png = &ng, *pnvg = &nvg;
+        int numColors;
+        int *pNumColors = &numColors;
+        double *Colors;
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &png);
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pnvg);
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_COLORS__, jni_int, (void**)&pNumColors);
+        getGraphicObjectProperty(obj, __GO_DATA_MODEL_COLORS__, jni_double_vector, (void**)&pNumColors);
+
+        numElementsArray[0] = numElementsArray[1] = numElementsArray[2] = ng * nvg;
+
+        int elements[] = {ng, nvg, numColors};
+        result = setGraphicObjectProperty(newObj, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &elements, jni_int_vector, 3);
+        setGraphicObjectProperty(newObj, __GO_DATA_MODEL_COLORS__, Colors, jni_double_vector, numColors);
+    }
+    else
+    {
+        return 0;
+    }
+
+
+    if (result == 0)
+    {
+        deleteDataObject(dataObj);
+        return 0;
+    }
+
+    getGraphicObjectProperty(obj, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&pvecx);
+    getGraphicObjectProperty(obj, __GO_DATA_MODEL_Y__, jni_double_vector, (void**)&pvecy);
+    getGraphicObjectProperty(obj, __GO_DATA_MODEL_Z__, jni_double_vector, (void**)&pvecz);
+
+    setGraphicObjectProperty(newObj, __GO_DATA_MODEL_X__, pvecx, jni_double_vector, numElementsArray[0]);
+    setGraphicObjectProperty(newObj, __GO_DATA_MODEL_Y__, pvecy, jni_double_vector, numElementsArray[1]);
+    setGraphicObjectProperty(newObj, __GO_DATA_MODEL_Z__, pvecz, jni_double_vector, numElementsArray[2]);
+
+    return dataObj;
+}
index 49495ea..d783f12 100644 (file)
@@ -1,27 +1,27 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2012 - Samuel GOUGEON\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file is released under the 3-clause BSD license. See COPYING-BSD.\r
-\r
-function demo_hist3d()\r
-\r
-    my_handle             = scf(100001);\r
-    clf(my_handle,"reset");\r
-    demo_viewCode("hist3d.dem.sce");\r
-\r
-    // DEMO START\r
-    my_plot_desc          = "hist3d: Average monthly temperatures in french cities";\r
-    my_handle.figure_name = my_plot_desc;\r
-\r
-    hist3d();\r
-    xtitle(my_plot_desc," "," "," ");\r
-    // DEMO END\r
-\r
-endfunction\r
-\r
-demo_hist3d();\r
-clear demo_hist3d;\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Samuel GOUGEON
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_hist3d()
+
+    my_handle             = scf(100001);
+    clf(my_handle,"reset");
+    demo_viewCode("hist3d.dem.sce");
+
+    // DEMO START
+    my_plot_desc          = "hist3d: Average monthly temperatures in french cities";
+    my_handle.figure_name = my_plot_desc;
+
+    hist3d();
+    xtitle(my_plot_desc," "," "," ");
+    // DEMO END
+
+endfunction
+
+demo_hist3d();
+clear demo_hist3d;
+
+
+
index 855de73..580e334 100644 (file)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Graphics",SCI+"/modules/graphics/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Graphics",SCI+"/modules/graphics/help/ja_JP",%T);
+
index 2433d33..6ce6099 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("GUI",SCI+"/modules/gui/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("GUI",SCI+"/modules/gui/help/ja_JP",%T);
+
index d19f33e..f176000 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Online help management",SCI+"/modules/helptools/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Online help management",SCI+"/modules/helptools/help/ja_JP",%T);
+
index bc1f313..f7285b6 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("History manager",SCI+"/modules/history_manager/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("History manager",SCI+"/modules/history_manager/help/ja_JP",%T);
+
index 6c7e0c6..53ebaf3 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Integers",SCI+"/modules/integer/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Integers",SCI+"/modules/integer/help/ja_JP",%T);
+
index 43bd910..b1fcc55 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Interpolation",SCI+"/modules/interpolation/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Interpolation",SCI+"/modules/interpolation/help/ja_JP",%T);
+
index 7da7db9..f5e5ffd 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Intersci",SCI+"/modules/intersci/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Intersci",SCI+"/modules/intersci/help/ja_JP",%T);
+
index a319f4b..7b24fd3 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Input/Output functions",SCI+"/modules/io/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Input/Output functions",SCI+"/modules/io/help/ja_JP",%T);
+
index 1af6cee..2a16642 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Java Interface",SCI+"/modules/javasci/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Java Interface",SCI+"/modules/javasci/help/ja_JP",%T);
+
index 68b1eb5..5fc9554 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("JVM",SCI+"/modules/jvm/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("JVM",SCI+"/modules/jvm/help/ja_JP",%T);
+
index a100f0f..0e0916e 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Localization",SCI+"/modules/localization/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Localization",SCI+"/modules/localization/help/ja_JP",%T);
+
index 77828b9..c22d243 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Matlab to Scilab Conversion Tips",SCI+"/modules/m2sci/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Matlab to Scilab Conversion Tips",SCI+"/modules/m2sci/help/ja_JP",%T);
+
index ea81b5b..823d4f7 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Matlab binary files I/O",SCI+"/modules/matio/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Matlab binary files I/O",SCI+"/modules/matio/help/ja_JP",%T);
+
index 8d6bc9f..f00c2d2 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Modules manager", SCI+"/modules/modules_manager/help/ja_JP", %T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Modules manager", SCI+"/modules/modules_manager/help/ja_JP", %T);
+
index f2feb8a..e7c2c83 100644 (file)
Binary files a/scilab/modules/modules_manager/help/pt_BR/addchapter.sce and b/scilab/modules/modules_manager/help/pt_BR/addchapter.sce differ
index 8166e78..0f462a2 100644 (file)
@@ -1,50 +1,50 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_fmin_display()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    opt = optimset ( "Display" , "iter" );\r
-    [x fval] = fminsearch ( banana , [-1.2 1] , opt );\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n", strcat(string(x)," "));\r
-    mprintf("fval = %e\n", fval);\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "fminsearch_display.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename, "readonly" );\r
-    end\r
-endfunction\r
-\r
-demo_fmin_display();\r
-clear demo_fmin_display;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_fmin_display()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    opt = optimset ( "Display" , "iter" );
+    [x fval] = fminsearch ( banana , [-1.2 1] , opt );
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n", strcat(string(x)," "));
+    mprintf("fval = %e\n", fval);
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "fminsearch_display.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename, "readonly" );
+    end
+endfunction
+
+demo_fmin_display();
+clear demo_fmin_display;
+
+
+
+
+
+
+
+
+
index dabc3be..400df74 100644 (file)
@@ -1,39 +1,39 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_funccount()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    opt = optimset ( "PlotFcns" , optimplotfunccount );\r
-    [x fval] = fminsearch ( banana , [-1.2 1] , opt );\r
-    demo_viewCode("fminsearch_optimplotfunccount.sce");\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n", strcat(string(x)," "));\r
-    mprintf("fval = %e\n", fval);\r
-\r
-endfunction\r
-\r
-demo_funccount();\r
-clear demo_funccount;\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_funccount()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    opt = optimset ( "PlotFcns" , optimplotfunccount );
+    [x fval] = fminsearch ( banana , [-1.2 1] , opt );
+    demo_viewCode("fminsearch_optimplotfunccount.sce");
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n", strcat(string(x)," "));
+    mprintf("fval = %e\n", fval);
+
+endfunction
+
+demo_funccount();
+clear demo_funccount;
+
+
+
+
+
+
index 1bfcec1..034d8be 100644 (file)
@@ -1,38 +1,38 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2009 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-\r
-function demo_plotfval()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    opt = optimset ( "PlotFcns" , optimplotfval );\r
-    [x fval] = fminsearch ( banana , [-1.2 1] , opt );\r
-    demo_viewCode("fminsearch_optimplotfval.sce");\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n",strcat(string(x)," "));\r
-    mprintf("fval = %e\n",fval);\r
-endfunction\r
-\r
-demo_plotfval();\r
-clear demo_plotfval;\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function demo_plotfval()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    opt = optimset ( "PlotFcns" , optimplotfval );
+    [x fval] = fminsearch ( banana , [-1.2 1] , opt );
+    demo_viewCode("fminsearch_optimplotfval.sce");
+    //
+    // Display results
+    //
+    mprintf("x = %s\n",strcat(string(x)," "));
+    mprintf("fval = %e\n",fval);
+endfunction
+
+demo_plotfval();
+clear demo_plotfval;
+
+
+
+
+
+
index 7db8030..116ba56 100644 (file)
@@ -1,37 +1,37 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012- Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-\r
-function demo_plotx()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    opt = optimset ( "PlotFcns" , optimplotx );\r
-    [x fval] = fminsearch ( banana , [-1.2 1] , opt );\r
-    demo_viewCode("fminsearch_optimplotx.sce");\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x=%s\n",strcat(string(x)," "));\r
-    mprintf("fval=%e\n",fval);\r
-endfunction\r
-\r
-demo_plotx();\r
-clear demo_plotx;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012- Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function demo_plotx()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    opt = optimset ( "PlotFcns" , optimplotx );
+    [x fval] = fminsearch ( banana , [-1.2 1] , opt );
+    demo_viewCode("fminsearch_optimplotx.sce");
+
+    //
+    // Display results
+    //
+    mprintf("x=%s\n",strcat(string(x)," "));
+    mprintf("fval=%e\n",fval);
+endfunction
+
+demo_plotx();
+clear demo_plotx;
+
+
+
+
index 2b71f0a..2857d9b 100644 (file)
@@ -1,69 +1,69 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_outputfunction()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    function stop = outfun ( x , optimValues , state )\r
-        fc = optimValues.funccount;\r
-        fv = optimValues.fval;\r
-        it = optimValues.iteration;\r
-        pr = optimValues.procedure;\r
-        mprintf ( "%d %e %d -%s-\n" , fc , fv , it , pr )\r
-        stop = %f\r
-    endfunction\r
-\r
-    opt = optimset ( "OutputFcn" , outfun );\r
-    [x,fval,exitflag,output ] = fminsearch ( banana , [-1.2 1] , opt );\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n",strcat(string(x)," "));\r
-    mprintf("fval = %e\n",fval);\r
-\r
-    mprintf("output.message:\n");\r
-\r
-    for i =1:3\r
-        mprintf(output.message(i));\r
-        mprintf("\n");\r
-    end\r
-\r
-    mprintf("output.algorithm:%s\n",output.algorithm);\r
-    mprintf("output.funcCount:%d\n",output.funcCount);\r
-    mprintf("output.iterations:%d\n",output.iterations);\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "fminsearch_outputfunction.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename, "readonly" );\r
-    end\r
-endfunction\r
-\r
-demo_outputfunction();\r
-clear demo_outputfunction;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_outputfunction()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    function stop = outfun ( x , optimValues , state )
+        fc = optimValues.funccount;
+        fv = optimValues.fval;
+        it = optimValues.iteration;
+        pr = optimValues.procedure;
+        mprintf ( "%d %e %d -%s-\n" , fc , fv , it , pr )
+        stop = %f
+    endfunction
+
+    opt = optimset ( "OutputFcn" , outfun );
+    [x,fval,exitflag,output ] = fminsearch ( banana , [-1.2 1] , opt );
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n",strcat(string(x)," "));
+    mprintf("fval = %e\n",fval);
+
+    mprintf("output.message:\n");
+
+    for i =1:3
+        mprintf(output.message(i));
+        mprintf("\n");
+    end
+
+    mprintf("output.algorithm:%s\n",output.algorithm);
+    mprintf("output.funcCount:%d\n",output.funcCount);
+    mprintf("output.iterations:%d\n",output.iterations);
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "fminsearch_outputfunction.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename, "readonly" );
+    end
+endfunction
+
+demo_outputfunction();
+clear demo_outputfunction;
+
+
+
+
+
+
+
+
index 310684f..979ef72 100644 (file)
@@ -1,59 +1,59 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_fmin_rosenbrock()\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    x0 = [-1.2 1];\r
-    [x , fval , exitflag , output] = fminsearch ( banana , x0 );\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n",strcat(string(x)," "));\r
-    mprintf("fval = %e\n",fval);\r
-    mprintf("exitflag = %d\n",exitflag);\r
-    mprintf("output.message:\n");\r
-\r
-    for i =1:3\r
-        mprintf(output.message(i));\r
-        mprintf("\n");\r
-    end\r
-\r
-    mprintf("output.algorithm:%s\n",output.algorithm);\r
-    mprintf("output.funcCount:%d\n",output.funcCount);\r
-    mprintf("output.iterations:%d\n",output.iterations);\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "fminsearch_rosenbrock.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename, "readonly" );\r
-    end\r
-endfunction\r
-\r
-demo_fmin_rosenbrock();\r
-clear demo_fmin_rosenbrock;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_fmin_rosenbrock()
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    x0 = [-1.2 1];
+    [x , fval , exitflag , output] = fminsearch ( banana , x0 );
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n",strcat(string(x)," "));
+    mprintf("fval = %e\n",fval);
+    mprintf("exitflag = %d\n",exitflag);
+    mprintf("output.message:\n");
+
+    for i =1:3
+        mprintf(output.message(i));
+        mprintf("\n");
+    end
+
+    mprintf("output.algorithm:%s\n",output.algorithm);
+    mprintf("output.funcCount:%d\n",output.funcCount);
+    mprintf("output.iterations:%d\n",output.iterations);
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "fminsearch_rosenbrock.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename, "readonly" );
+    end
+endfunction
+
+demo_fmin_rosenbrock();
+clear demo_fmin_rosenbrock;
+
+
+
+
+
+
+
+
index 8e2d8b7..3b8e778 100644 (file)
@@ -1,62 +1,62 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-\r
-function demo_fmin_tolx()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function y = banana (x)\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    x0 = [-1.2 1]\r
-    opt = optimset ( "TolX" , 1.e-2 );\r
-    [x , fval , exitflag , output] = fminsearch ( banana , x0 , opt );\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n",strcat(string(x)," "));\r
-    mprintf("fval = %e\n",fval);\r
-    mprintf("exitflag = %d\n",exitflag);\r
-    mprintf("output.message:\n");\r
-\r
-    for i =1:3\r
-        mprintf(output.message(i));\r
-        mprintf("\n");\r
-    end\r
-\r
-    mprintf("output.algorithm:%s\n",output.algorithm);\r
-    mprintf("output.funcCount:%d\n",output.funcCount);\r
-    mprintf("output.iterations:%d\n",output.iterations);\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "fminsearch_tolx.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename, "readonly" );\r
-    end\r
-endfunction\r
-\r
-demo_fmin_tolx();\r
-clear demo_fmin_tolx;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function demo_fmin_tolx()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function y = banana (x)
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    x0 = [-1.2 1]
+    opt = optimset ( "TolX" , 1.e-2 );
+    [x , fval , exitflag , output] = fminsearch ( banana , x0 , opt );
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n",strcat(string(x)," "));
+    mprintf("fval = %e\n",fval);
+    mprintf("exitflag = %d\n",exitflag);
+    mprintf("output.message:\n");
+
+    for i =1:3
+        mprintf(output.message(i));
+        mprintf("\n");
+    end
+
+    mprintf("output.algorithm:%s\n",output.algorithm);
+    mprintf("output.funcCount:%d\n",output.funcCount);
+    mprintf("output.iterations:%d\n",output.iterations);
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "fminsearch_tolx.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename, "readonly" );
+    end
+endfunction
+
+demo_fmin_tolx();
+clear demo_fmin_tolx;
+
+
+
+
+
+
+
+
index 667b4b9..c7940f1 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2010 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-//\r
-// neldermeadBounds.sce --\r
-//   Show a simple neldermead session with bounds.\r
-//\r
-\r
-function demo_boxbounds()\r
-\r
-    filename = "neldermead_boxbounds.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates Box'' algorithm on a simply bounds-constrained optimization problem.\n"));\r
-\r
-    // A simple quadratic function\r
-    function [ f , index ] = myquad ( x , index )\r
-        f = x(1)^2 + x(2)^2\r
-    endfunction\r
-    function y = myquadC ( x1 , x2 )\r
-        y = myquad ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    //\r
-    // Initialize the random number generator, so that the results are always the\r
-    // same.\r
-    //\r
-    rand("seed" , 0)\r
-\r
-    x0 = [1.2 1.9].';\r
-    // Compute f(x0) : should be close to -2351244.0\r
-    [ fx0 , index ] = myquad ( x0 , 2 );\r
-    mprintf("Computed fx0 = %e (expected = %e)\n",fx0 , 5.05 );\r
-\r
-    xopt = [1 1].';\r
-    // Compute f(xopt) : should be 2\r
-    [ fopt , index ] = myquad ( xopt , 2 );\r
-    mprintf("Computed fopt = %e (expected = %e)\n", fopt , 2 );\r
-\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm,"-numberofvariables",2);\r
-    nm = nmplot_configure(nm,"-function",myquad);\r
-    nm = nmplot_configure(nm,"-x0",x0);\r
-    nm = nmplot_configure(nm,"-method","box");\r
-    nm = nmplot_configure(nm,"-boundsmin",[1 1]);\r
-    nm = nmplot_configure(nm,"-boundsmax",[2 2]);\r
-\r
-    //\r
-    // Check that the cost function is correctly connected.\r
-    //\r
-    [ nm , f ] = nmplot_function ( nm , x0 );\r
-    simplexfn = fullfile(TMPDIR , "history.simplex.txt")\r
-    nm = nmplot_configure(nm,"-simplexfn",simplexfn);\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    mprintf(_("...Done\n"));\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-    mprintf("==========================\n");\r
-    xcomp = nmplot_get(nm,"-xopt");\r
-    mprintf("x expected = %s\n",strcat(string(xopt), " "));\r
-    shift = norm(xcomp-xopt)/norm(xopt);\r
-    mprintf("Shift = %f\n",shift);\r
-    fcomp = nmplot_get(nm,"-fopt");\r
-    mprintf("f expected = %f\n",fopt);\r
-    shift = abs(fcomp-fopt)/abs(fopt);\r
-    mprintf("Shift =%f\n",shift);\r
-\r
-    //\r
-    // Plot\r
-    //\r
-    mprintf(_("Plot contour (please wait)...\n"));\r
-    xmin = 0.5 ;\r
-    xmax = 2.1 ;\r
-    ymin = 0.5 ;\r
-    ymax = 2.1 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    scf();\r
-    xset("fpf"," ")\r
-    drawlater();\r
-    contour ( xdata , ydata , myquadC , 10 )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-    //\r
-    // Cleanup\r
-    deletefile(simplexfn)\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_boxbounds();\r
-clear demo_boxbounds;\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+//
+// neldermeadBounds.sce --
+//   Show a simple neldermead session with bounds.
+//
+
+function demo_boxbounds()
+
+    filename = "neldermead_boxbounds.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates Box'' algorithm on a simply bounds-constrained optimization problem.\n"));
+
+    // A simple quadratic function
+    function [ f , index ] = myquad ( x , index )
+        f = x(1)^2 + x(2)^2
+    endfunction
+    function y = myquadC ( x1 , x2 )
+        y = myquad ( [x1 , x2] , 2 )
+    endfunction
+
+    //
+    // Initialize the random number generator, so that the results are always the
+    // same.
+    //
+    rand("seed" , 0)
+
+    x0 = [1.2 1.9].';
+    // Compute f(x0) : should be close to -2351244.0
+    [ fx0 , index ] = myquad ( x0 , 2 );
+    mprintf("Computed fx0 = %e (expected = %e)\n",fx0 , 5.05 );
+
+    xopt = [1 1].';
+    // Compute f(xopt) : should be 2
+    [ fopt , index ] = myquad ( xopt , 2 );
+    mprintf("Computed fopt = %e (expected = %e)\n", fopt , 2 );
+
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm,"-numberofvariables",2);
+    nm = nmplot_configure(nm,"-function",myquad);
+    nm = nmplot_configure(nm,"-x0",x0);
+    nm = nmplot_configure(nm,"-method","box");
+    nm = nmplot_configure(nm,"-boundsmin",[1 1]);
+    nm = nmplot_configure(nm,"-boundsmax",[2 2]);
+
+    //
+    // Check that the cost function is correctly connected.
+    //
+    [ nm , f ] = nmplot_function ( nm , x0 );
+    simplexfn = fullfile(TMPDIR , "history.simplex.txt")
+    nm = nmplot_configure(nm,"-simplexfn",simplexfn);
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    mprintf(_("...Done\n"));
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+    mprintf("==========================\n");
+    xcomp = nmplot_get(nm,"-xopt");
+    mprintf("x expected = %s\n",strcat(string(xopt), " "));
+    shift = norm(xcomp-xopt)/norm(xopt);
+    mprintf("Shift = %f\n",shift);
+    fcomp = nmplot_get(nm,"-fopt");
+    mprintf("f expected = %f\n",fopt);
+    shift = abs(fcomp-fopt)/abs(fopt);
+    mprintf("Shift =%f\n",shift);
+
+    //
+    // Plot
+    //
+    mprintf(_("Plot contour (please wait)...\n"));
+    xmin = 0.5 ;
+    xmax = 2.1 ;
+    ymin = 0.5 ;
+    ymax = 2.1 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    scf();
+    xset("fpf"," ")
+    drawlater();
+    contour ( xdata , ydata , myquadC , 10 )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+    //
+    // Cleanup
+    deletefile(simplexfn)
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_boxbounds();
+clear demo_boxbounds;
+
+
+
+
+
+
index af103b8..3785fd7 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2009-2010 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-//\r
-// nmplot_boxproblemA.sce --\r
-//   Show that the Box algorithm is able to reproduce the\r
-//   numerical experiment presented in Box's paper.\r
-//\r
-\r
-function demo_boxproblemB()\r
-\r
-    filename = "neldermead_boxproblemB.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates Box'' algorithm on Box problem B.\n"));\r
-\r
-    mprintf("M.J. Box, \n");\r
-    mprintf(_("""A new method of constrained optimization \n"));\r
-    mprintf(_("and a comparison with other methods"".\n"));\r
-    mprintf("The Computer Journal, Volume 8, Number 1, 1965, 42--52\n");\r
-    mprintf(_("Problem B\n"));\r
-\r
-    //\r
-    //  Reference:\r
-    //\r
-    //   M.J.Box,\r
-    //   "A new method of constrained optimization\r
-    //   and a comparison with other methods".\r
-    //   The Computer Journal, Volume 8, Number 1, 1965, 42--52\r
-    //   Problem A\r
-    //\r
-    //   Algorithm 454: the complex method for constrained optimization [E4]\r
-    //   Communications of the ACM, Volume 16 ,  Issue 8  (August 1973)\r
-    //   Pages: 487 - 489\r
-    //\r
-    //   Richardson and Kuester Results :\r
-    //   F=1.0000\r
-    //   X1 = 3.0000\r
-    //   X2 = 1.7320\r
-    //   Iterations : 68\r
-    //\r
-    //\r
-    // Note\r
-    //    The maximum bound for the parameter x1\r
-    //    is not indicated in Box's paper, but indicated in "Algo 454".\r
-    //    The maximum bound for x2 is set to 100/sqrt(3) and satisfies the constraint on x2.\r
-    //    The original problem was to maximize the cost function.\r
-    //    Here, the problem is to minimize the cost function.\r
-\r
-    //\r
-    // boxproblemB --\r
-    //   Computes the Box problem B cost function and\r
-    //   inequality constraints.\r
-    //\r
-    // Arguments\r
-    //   x: the point where to compute the function\r
-    //   index : the stuff to compute\r
-    //   data : the parameters of Box cost function\r
-    //\r
-    function [ f , c , index ] = boxproblemB ( x , index )\r
-        f = []\r
-        c = []\r
-        x3 = x(1) + sqrt(3.0) * x(2)\r
-\r
-        if ( index==2 | index==6 ) then\r
-            f = -(9.0 - (x(1) - 3.0) ^ 2) * x(2) ^ 3 / 27.0 / sqrt(3.0)\r
-        end\r
-\r
-        if ( index==5 | index==6 ) then\r
-            c1 = x(1) / sqrt(3.0) - x(2)\r
-            c2 = x3\r
-            c3 = 6.0 - x3\r
-            c = [c1 c2 c3]\r
-        end\r
-\r
-    endfunction\r
-\r
-\r
-    //\r
-    // Initialize the random number generator, so that the results are always the\r
-    // same.\r
-    //\r
-    rand("seed" , 0)\r
-\r
-    x0 = [1.0 0.5].';\r
-    // Compute f(x0) : should be close to -0.0133645895646\r
-    fx0 = boxproblemB ( x0 , 2 );\r
-    mprintf("Computed fx0 = %e (expected = %e)\n",fx0 , -0.0133645895646 );\r
-    [fx0 , cx0 , index ] = boxproblemB ( x0 , 6 );\r
-    mprintf("Computed Constraints(x0) = [%e %e %e]\n", ...\r
-    cx0(1), cx0(2), cx0(3) );\r
-    mprintf("Expected Constraints(x0) = [%e %e %e]\n", ...\r
-    0.0773503 , 1.8660254 , 4.1339746 );\r
-\r
-\r
-    xopt = [3.0 1.7320508075688774].';\r
-    // Compute f(xopt) : should be -1.0\r
-    fopt = boxproblemB ( xopt , 2 );\r
-    mprintf("Computed fopt = %e (expected = %e)\n", fopt , -1.0 );\r
-\r
-    nm = neldermead_new ();\r
-    nm = neldermead_configure(nm,"-numberofvariables",2);\r
-    nm = neldermead_configure(nm,"-function",boxproblemB);\r
-    nm = neldermead_configure(nm,"-x0",x0);\r
-    nm = neldermead_configure(nm,"-maxiter",300);\r
-    nm = neldermead_configure(nm,"-maxfunevals",300);\r
-    nm = neldermead_configure(nm,"-method","box");\r
-    nm = neldermead_configure(nm,"-boundsmin",[0.0 0.0]);\r
-    nm = neldermead_configure(nm,"-boundsmax",[100.0 57.735026918962582]);\r
-    // Configure like Box\r
-    nm = neldermead_configure(nm,"-simplex0method","randbounds");\r
-    nm = neldermead_configure(nm,"-nbineqconst",3);\r
-    nm = neldermead_configure(nm,"-tolxmethod" , %f );\r
-    nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);\r
-    nm = neldermead_configure(nm,"-boxtermination" , %t );\r
-    nm = neldermead_configure(nm,"-boxtolf" , 0.001 );\r
-    nm = neldermead_configure(nm,"-boxboundsalpha" , 0.0001 );\r
-\r
-    //\r
-    // Check that the cost function is correctly connected.\r
-    //\r
-    [ nm , f ] = neldermead_function ( nm , x0 );\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = neldermead_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"neldermead_summary.sci"),-1);\r
-    neldermead_summary(nm)\r
-    mprintf("==========================\n");\r
-    xcomp = neldermead_get(nm,"-xopt");\r
-    mprintf("x expected = [%s]\n", strcat(string(xopt), " "));\r
-    shift = norm(xcomp-xopt)/norm(xopt);\r
-    mprintf(_("Relative error on x = %e\n"), shift);\r
-    fcomp = neldermead_get(nm,"-fopt");\r
-    mprintf(_("f expected = %f\n"), fopt);\r
-    shift = abs(fcomp-fopt)/abs(fopt);\r
-    mprintf(_("Relative error on f = %e\n"), shift);\r
-    nm = neldermead_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        editor ( dname + filename, "readonly" );\r
-    end\r
-endfunction\r
-\r
-demo_boxproblemB();\r
-clear demo_boxproblemB;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2009-2010 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+//
+// nmplot_boxproblemA.sce --
+//   Show that the Box algorithm is able to reproduce the
+//   numerical experiment presented in Box's paper.
+//
+
+function demo_boxproblemB()
+
+    filename = "neldermead_boxproblemB.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates Box'' algorithm on Box problem B.\n"));
+
+    mprintf("M.J. Box, \n");
+    mprintf(_("""A new method of constrained optimization \n"));
+    mprintf(_("and a comparison with other methods"".\n"));
+    mprintf("The Computer Journal, Volume 8, Number 1, 1965, 42--52\n");
+    mprintf(_("Problem B\n"));
+
+    //
+    //  Reference:
+    //
+    //   M.J.Box,
+    //   "A new method of constrained optimization
+    //   and a comparison with other methods".
+    //   The Computer Journal, Volume 8, Number 1, 1965, 42--52
+    //   Problem A
+    //
+    //   Algorithm 454: the complex method for constrained optimization [E4]
+    //   Communications of the ACM, Volume 16 ,  Issue 8  (August 1973)
+    //   Pages: 487 - 489
+    //
+    //   Richardson and Kuester Results :
+    //   F=1.0000
+    //   X1 = 3.0000
+    //   X2 = 1.7320
+    //   Iterations : 68
+    //
+    //
+    // Note
+    //    The maximum bound for the parameter x1
+    //    is not indicated in Box's paper, but indicated in "Algo 454".
+    //    The maximum bound for x2 is set to 100/sqrt(3) and satisfies the constraint on x2.
+    //    The original problem was to maximize the cost function.
+    //    Here, the problem is to minimize the cost function.
+
+    //
+    // boxproblemB --
+    //   Computes the Box problem B cost function and
+    //   inequality constraints.
+    //
+    // Arguments
+    //   x: the point where to compute the function
+    //   index : the stuff to compute
+    //   data : the parameters of Box cost function
+    //
+    function [ f , c , index ] = boxproblemB ( x , index )
+        f = []
+        c = []
+        x3 = x(1) + sqrt(3.0) * x(2)
+
+        if ( index==2 | index==6 ) then
+            f = -(9.0 - (x(1) - 3.0) ^ 2) * x(2) ^ 3 / 27.0 / sqrt(3.0)
+        end
+
+        if ( index==5 | index==6 ) then
+            c1 = x(1) / sqrt(3.0) - x(2)
+            c2 = x3
+            c3 = 6.0 - x3
+            c = [c1 c2 c3]
+        end
+
+    endfunction
+
+
+    //
+    // Initialize the random number generator, so that the results are always the
+    // same.
+    //
+    rand("seed" , 0)
+
+    x0 = [1.0 0.5].';
+    // Compute f(x0) : should be close to -0.0133645895646
+    fx0 = boxproblemB ( x0 , 2 );
+    mprintf("Computed fx0 = %e (expected = %e)\n",fx0 , -0.0133645895646 );
+    [fx0 , cx0 , index ] = boxproblemB ( x0 , 6 );
+    mprintf("Computed Constraints(x0) = [%e %e %e]\n", ...
+    cx0(1), cx0(2), cx0(3) );
+    mprintf("Expected Constraints(x0) = [%e %e %e]\n", ...
+    0.0773503 , 1.8660254 , 4.1339746 );
+
+
+    xopt = [3.0 1.7320508075688774].';
+    // Compute f(xopt) : should be -1.0
+    fopt = boxproblemB ( xopt , 2 );
+    mprintf("Computed fopt = %e (expected = %e)\n", fopt , -1.0 );
+
+    nm = neldermead_new ();
+    nm = neldermead_configure(nm,"-numberofvariables",2);
+    nm = neldermead_configure(nm,"-function",boxproblemB);
+    nm = neldermead_configure(nm,"-x0",x0);
+    nm = neldermead_configure(nm,"-maxiter",300);
+    nm = neldermead_configure(nm,"-maxfunevals",300);
+    nm = neldermead_configure(nm,"-method","box");
+    nm = neldermead_configure(nm,"-boundsmin",[0.0 0.0]);
+    nm = neldermead_configure(nm,"-boundsmax",[100.0 57.735026918962582]);
+    // Configure like Box
+    nm = neldermead_configure(nm,"-simplex0method","randbounds");
+    nm = neldermead_configure(nm,"-nbineqconst",3);
+    nm = neldermead_configure(nm,"-tolxmethod" , %f );
+    nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+    nm = neldermead_configure(nm,"-boxtermination" , %t );
+    nm = neldermead_configure(nm,"-boxtolf" , 0.001 );
+    nm = neldermead_configure(nm,"-boxboundsalpha" , 0.0001 );
+
+    //
+    // Check that the cost function is correctly connected.
+    //
+    [ nm , f ] = neldermead_function ( nm , x0 );
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = neldermead_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"neldermead_summary.sci"),-1);
+    neldermead_summary(nm)
+    mprintf("==========================\n");
+    xcomp = neldermead_get(nm,"-xopt");
+    mprintf("x expected = [%s]\n", strcat(string(xopt), " "));
+    shift = norm(xcomp-xopt)/norm(xopt);
+    mprintf(_("Relative error on x = %e\n"), shift);
+    fcomp = neldermead_get(nm,"-fopt");
+    mprintf(_("f expected = %f\n"), fopt);
+    shift = abs(fcomp-fopt)/abs(fopt);
+    mprintf(_("Relative error on f = %e\n"), shift);
+    nm = neldermead_destroy(nm);
+    mprintf(_("End of demo.\n"));
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        editor ( dname + filename, "readonly" );
+    end
+endfunction
+
+demo_boxproblemB();
+clear demo_boxproblemB;
+
+
+
+
+
+
+
+
index 39cace8..18da801 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2009-2010 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-\r
-function demo_dimension()\r
-\r
-    mprintf(_("Illustrates the sensitivity to dimension of the Nelder-Mead algorithm\n"));\r
-    mprintf(_("Han and Neumann. ""Effect of dimensionality on the nelder-mead simplex method."" Optimization Methods and Software, 2006.\n"));\r
-\r
-    function [ f , index ] = quadracticn ( x , index )\r
-        f = sum(x.^2);\r
-    endfunction\r
-\r
-    //\r
-    // solvepb --\r
-    //   Find the solution for the given number of dimensions\r
-    //\r
-    function [nbfevals , niter , rho] = solvepb ( n )\r
-        rand("seed", 0)\r
-        nm = neldermead_new ();\r
-        nm = neldermead_configure(nm, "-numberofvariables", n);\r
-        nm = neldermead_configure(nm, "-function", quadracticn);\r
-        nm = neldermead_configure(nm, "-x0", zeros(n,1));\r
-        nm = neldermead_configure(nm, "-maxiter", 2000);\r
-        nm = neldermead_configure(nm, "-maxfunevals", 2000);\r
-        nm = neldermead_configure(nm, "-tolxmethod", %f);\r
-        nm = neldermead_configure(nm, "-tolsimplexizerelative", 0.0);\r
-        nm = neldermead_configure(nm, "-tolsimplexizeabsolute", 1.e-8);\r
-        nm = neldermead_configure(nm, "-simplex0method", "given");\r
-        coords (1,1:n) = zeros(1,n);\r
-        for i = 2:n+1\r
-            coords (i,1:n) = 2.0 * rand(1,n) - 1.0;\r
-        end\r
-        nm = neldermead_configure(nm, "-coords0", coords);\r
-        //\r
-        // Perform optimization\r
-        //\r
-        nm = neldermead_search(nm);\r
-        si0 = neldermead_get ( nm , "-simplex0" );\r
-        sigma0 = optimsimplex_size ( si0 , "sigmaplus" );\r
-        siopt = neldermead_get ( nm , "-simplexopt" );\r
-        sigmaopt = optimsimplex_size ( siopt , "sigmaplus" );\r
-        niter = neldermead_get ( nm , "-iterations" );\r
-        rho = (sigmaopt/sigma0)^(1.0/niter);\r
-        nbfevals = neldermead_get ( nm , "-funevals" );\r
-        mprintf ( "%d %d %d %f\n", n , nbfevals , niter , rho );\r
-        nm = neldermead_destroy(nm);\r
-    endfunction\r
-\r
-    nmax = 20;\r
-    mprintf(_("Maximum dimension:%d\n"),nmax);\r
-    mprintf(_("Column #1: number of dimensions\n"));\r
-    mprintf(_("Column #2: number of function evaluations\n"));\r
-    mprintf(_("Column #3: number of iterations\n"));\r
-    mprintf(_("Column #4: convergence rate (lower is better)\n"));\r
-\r
-    for n = 1:nmax\r
-        [nbfevals niter rho] = solvepb ( n );\r
-        array_rho(n) = rho;\r
-        array_nbfevals(n) = nbfevals;\r
-        array_niter(n) = niter;\r
-    end\r
-\r
-    // Plot rate of convergence\r
-    hh = scf();\r
-    plot(1:nmax,array_rho)\r
-    hh.children.x_label.text = _("Number of parameters")\r
-    hh.children.y_label.text = _("Rate of convergence")\r
-    hh.children.children.children.mark_mode = "on";\r
-    hh.children.children.children.mark_style = 9;\r
-    hh.children.children.children.mark_size = 10;\r
-\r
-    // Plot number of function evaluations\r
-    hh = scf();\r
-    plot(1:nmax,array_nbfevals)\r
-    hh.children.x_label.text = _("Number of parameters")\r
-    hh.children.y_label.text = _("Number of function evaluations")\r
-    hh.children.children.children.mark_mode = "on";\r
-    hh.children.children.children.mark_style = 9;\r
-    hh.children.children.children.mark_size = 10;\r
-    mprintf(_("End of demo.\n"));\r
-\r
-    //\r
-    //Load this script into the editor\r
-    //\r
-\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "neldermead_dimension.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename, "readonly" );\r
-    end\r
-endfunction\r
-\r
-demo_dimension();\r
-clear demo_dimension;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2009-2010 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function demo_dimension()
+
+    mprintf(_("Illustrates the sensitivity to dimension of the Nelder-Mead algorithm\n"));
+    mprintf(_("Han and Neumann. ""Effect of dimensionality on the nelder-mead simplex method."" Optimization Methods and Software, 2006.\n"));
+
+    function [ f , index ] = quadracticn ( x , index )
+        f = sum(x.^2);
+    endfunction
+
+    //
+    // solvepb --
+    //   Find the solution for the given number of dimensions
+    //
+    function [nbfevals , niter , rho] = solvepb ( n )
+        rand("seed", 0)
+        nm = neldermead_new ();
+        nm = neldermead_configure(nm, "-numberofvariables", n);
+        nm = neldermead_configure(nm, "-function", quadracticn);
+        nm = neldermead_configure(nm, "-x0", zeros(n,1));
+        nm = neldermead_configure(nm, "-maxiter", 2000);
+        nm = neldermead_configure(nm, "-maxfunevals", 2000);
+        nm = neldermead_configure(nm, "-tolxmethod", %f);
+        nm = neldermead_configure(nm, "-tolsimplexizerelative", 0.0);
+        nm = neldermead_configure(nm, "-tolsimplexizeabsolute", 1.e-8);
+        nm = neldermead_configure(nm, "-simplex0method", "given");
+        coords (1,1:n) = zeros(1,n);
+        for i = 2:n+1
+            coords (i,1:n) = 2.0 * rand(1,n) - 1.0;
+        end
+        nm = neldermead_configure(nm, "-coords0", coords);
+        //
+        // Perform optimization
+        //
+        nm = neldermead_search(nm);
+        si0 = neldermead_get ( nm , "-simplex0" );
+        sigma0 = optimsimplex_size ( si0 , "sigmaplus" );
+        siopt = neldermead_get ( nm , "-simplexopt" );
+        sigmaopt = optimsimplex_size ( siopt , "sigmaplus" );
+        niter = neldermead_get ( nm , "-iterations" );
+        rho = (sigmaopt/sigma0)^(1.0/niter);
+        nbfevals = neldermead_get ( nm , "-funevals" );
+        mprintf ( "%d %d %d %f\n", n , nbfevals , niter , rho );
+        nm = neldermead_destroy(nm);
+    endfunction
+
+    nmax = 20;
+    mprintf(_("Maximum dimension:%d\n"),nmax);
+    mprintf(_("Column #1: number of dimensions\n"));
+    mprintf(_("Column #2: number of function evaluations\n"));
+    mprintf(_("Column #3: number of iterations\n"));
+    mprintf(_("Column #4: convergence rate (lower is better)\n"));
+
+    for n = 1:nmax
+        [nbfevals niter rho] = solvepb ( n );
+        array_rho(n) = rho;
+        array_nbfevals(n) = nbfevals;
+        array_niter(n) = niter;
+    end
+
+    // Plot rate of convergence
+    hh = scf();
+    plot(1:nmax,array_rho)
+    hh.children.x_label.text = _("Number of parameters")
+    hh.children.y_label.text = _("Rate of convergence")
+    hh.children.children.children.mark_mode = "on";
+    hh.children.children.children.mark_style = 9;
+    hh.children.children.children.mark_size = 10;
+
+    // Plot number of function evaluations
+    hh = scf();
+    plot(1:nmax,array_nbfevals)
+    hh.children.x_label.text = _("Number of parameters")
+    hh.children.y_label.text = _("Number of function evaluations")
+    hh.children.children.children.mark_mode = "on";
+    hh.children.children.children.mark_style = 9;
+    hh.children.children.children.mark_size = 10;
+    mprintf(_("End of demo.\n"));
+
+    //
+    //Load this script into the editor
+    //
+
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "neldermead_dimension.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename, "readonly" );
+    end
+endfunction
+
+demo_dimension();
+clear demo_dimension;
+
+
+
+
+
+
+
+
index ab84847..2ebf7dc 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_1()\r
-\r
-    filename = "nmplot_han1.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates the 1st counter example given by Han et al.\n"));\r
-\r
-    //\r
-    // han1 --\r
-    //   Compute the cost function from the Han Phd Thesis\r
-    //   which exhibits a failure of the NM method.\r
-    // Reference\r
-    //   Algorithms in Unconstrained Optimization\r
-    //   Han, Lixing\r
-    //   2000\r
-    //   Ph.D., The University of Connecticut\r
-    //\r
-    mprintf(_("Defining Han function...\n"));\r
-\r
-    function [ f , index ] = han1 ( x , index )\r
-        f = x(1)^2 + x(2) * (x(2) + 2.0) * (x(2) - 0.5) * (x(2) - 2.0);\r
-    endfunction\r
-    function y = han1C ( x1 , x2 )\r
-        y = han1 ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-\r
-    mprintf(_("Defining initial simplex coordinates...\n"));\r
-    coords0 = [\r
-    0.  -1.\r
-    0.   1.\r
-    1.   0.\r
-    ];\r
-\r
-\r
-    mprintf(_("Creating nmplot object...\n"));\r
-    nm = nmplot_new ();\r
-    mprintf(_("Configuring nmplot object...\n"));\r
-    nm = nmplot_configure(nm, "-numberofvariables", 2);\r
-    nm = nmplot_configure(nm, "-function", han1);\r
-    nm = nmplot_configure(nm, "-x0", [1.0 1.0]');\r
-    nm = nmplot_configure(nm, "-maxiter", 50);\r
-    nm = nmplot_configure(nm, "-maxfunevals", 300);\r
-    nm = nmplot_configure(nm, "-tolfunrelative", 10*%eps);\r
-    nm = nmplot_configure(nm, "-tolxrelative", 10*%eps);\r
-    nm = nmplot_configure(nm, "-simplex0method", "given");\r
-    nm = nmplot_configure(nm, "-coords0", coords0);\r
-\r
-    //\r
-    // Setup output files\r
-    //\r
-    mprintf(_("Setup output files...\n"));\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn", simplexfn);\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait)...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-\r
-    //\r
-    // Plot the history of the simplex\r
-    //\r
-    mprintf(_("Plotting contour (please wait)...\n"));\r
-    xmin = -0.2 ;\r
-    xmax = 1.2 ;\r
-    ymin = -2.0 ;\r
-    ymax = 2.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    scf();\r
-    drawlater();\r
-    contour ( xdata , ydata , han1C , [-5 -4 -2 -1 0 1 1.5] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-\r
-    //\r
-    // Clean-up\r
-    //\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_nmplot_1();\r
-clear demo_nmplot_1;\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_1()
+
+    filename = "nmplot_han1.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates the 1st counter example given by Han et al.\n"));
+
+    //
+    // han1 --
+    //   Compute the cost function from the Han Phd Thesis
+    //   which exhibits a failure of the NM method.
+    // Reference
+    //   Algorithms in Unconstrained Optimization
+    //   Han, Lixing
+    //   2000
+    //   Ph.D., The University of Connecticut
+    //
+    mprintf(_("Defining Han function...\n"));
+
+    function [ f , index ] = han1 ( x , index )
+        f = x(1)^2 + x(2) * (x(2) + 2.0) * (x(2) - 0.5) * (x(2) - 2.0);
+    endfunction
+    function y = han1C ( x1 , x2 )
+        y = han1 ( [x1 , x2] , 2 )
+    endfunction
+
+
+    mprintf(_("Defining initial simplex coordinates...\n"));
+    coords0 = [
+    0.  -1.
+    0.   1.
+    1.   0.
+    ];
+
+
+    mprintf(_("Creating nmplot object...\n"));
+    nm = nmplot_new ();
+    mprintf(_("Configuring nmplot object...\n"));
+    nm = nmplot_configure(nm, "-numberofvariables", 2);
+    nm = nmplot_configure(nm, "-function", han1);
+    nm = nmplot_configure(nm, "-x0", [1.0 1.0]');
+    nm = nmplot_configure(nm, "-maxiter", 50);
+    nm = nmplot_configure(nm, "-maxfunevals", 300);
+    nm = nmplot_configure(nm, "-tolfunrelative", 10*%eps);
+    nm = nmplot_configure(nm, "-tolxrelative", 10*%eps);
+    nm = nmplot_configure(nm, "-simplex0method", "given");
+    nm = nmplot_configure(nm, "-coords0", coords0);
+
+    //
+    // Setup output files
+    //
+    mprintf(_("Setup output files...\n"));
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm, "-simplexfn", simplexfn);
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait)...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+
+    //
+    // Plot the history of the simplex
+    //
+    mprintf(_("Plotting contour (please wait)...\n"));
+    xmin = -0.2 ;
+    xmax = 1.2 ;
+    ymin = -2.0 ;
+    ymax = 2.0 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    scf();
+    drawlater();
+    contour ( xdata , ydata , han1C , [-5 -4 -2 -1 0 1 1.5] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+
+    //
+    // Clean-up
+    //
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_nmplot_1();
+clear demo_nmplot_1;
+
+
+
+
+
+
index f0d70e4..795a306 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-\r
-function demo_nmplot_2()\r
-    filename = "nmplot_han2.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates the 2nd counter example given by Han et al.\n"));\r
-\r
-    //\r
-    // han2 --\r
-    //   Compute the cost function from the Han Phd Thesis\r
-    //   which exhibits a failure of the NM method.\r
-    // Reference\r
-    //   Algorithms in Unconstrained Optimization\r
-    //   Han, Lixing\r
-    //   2000\r
-    //   Ph.D., The University of Connecticut\r
-    //\r
-    function [ f , index ] = han2 ( x , index )\r
-        if abs(x(2)) <= 1.0 then\r
-            rho = 0.0\r
-        elseif x(2) > 1.0 then\r
-            rho = x(2) - 1\r
-        else\r
-            rho = -x(2) - 1\r
-        end\r
-        f = x(1)^2 + rho;\r
-    endfunction\r
-    function y = han2C ( x1 , x2 )\r
-        y = han2 ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-\r
-    coords0 = [\r
-    0.    0.5\r
-    0.   -0.5\r
-    1.    0.];\r
-\r
-    mprintf(_("Creating nmplot object ...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables", 2);\r
-    nm = nmplot_configure(nm, "-function", han2);\r
-    nm = nmplot_configure(nm, "-x0", [1.0 1.0]');\r
-    nm = nmplot_configure(nm, "-maxiter", 50);\r
-    nm = nmplot_configure(nm, "-maxfunevals", 300);\r
-    nm = nmplot_configure(nm, "-tolfunrelative", 10*%eps);\r
-    nm = nmplot_configure(nm, "-tolxrelative", 10*%eps);\r
-    nm = nmplot_configure(nm, "-simplex0method", "given");\r
-    nm = nmplot_configure(nm, "-coords0", coords0);\r
-\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn", simplexfn);\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-\r
-    //\r
-    // Plot\r
-    //\r
-    mprintf(_("Plotting contour (please wait) ...\n"));\r
-    xmin = -0.2 ;\r
-    xmax = 1.2 ;\r
-    ymin = -1.5 ;\r
-    ymax = 1.5 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    scf();\r
-    xset("fpf"," ")\r
-    drawlater();\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    contour ( xdata , ydata , han2C , [0.1 0.2 0.5 1.0 1.5 1.9] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-    //\r
-    // Cleanup\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_nmplot_2()\r
-clear demo_nmplot_2;\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function demo_nmplot_2()
+    filename = "nmplot_han2.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates the 2nd counter example given by Han et al.\n"));
+
+    //
+    // han2 --
+    //   Compute the cost function from the Han Phd Thesis
+    //   which exhibits a failure of the NM method.
+    // Reference
+    //   Algorithms in Unconstrained Optimization
+    //   Han, Lixing
+    //   2000
+    //   Ph.D., The University of Connecticut
+    //
+    function [ f , index ] = han2 ( x , index )
+        if abs(x(2)) <= 1.0 then
+            rho = 0.0
+        elseif x(2) > 1.0 then
+            rho = x(2) - 1
+        else
+            rho = -x(2) - 1
+        end
+        f = x(1)^2 + rho;
+    endfunction
+    function y = han2C ( x1 , x2 )
+        y = han2 ( [x1 , x2] , 2 )
+    endfunction
+
+
+    coords0 = [
+    0.    0.5
+    0.   -0.5
+    1.    0.];
+
+    mprintf(_("Creating nmplot object ...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables", 2);
+    nm = nmplot_configure(nm, "-function", han2);
+    nm = nmplot_configure(nm, "-x0", [1.0 1.0]');
+    nm = nmplot_configure(nm, "-maxiter", 50);
+    nm = nmplot_configure(nm, "-maxfunevals", 300);
+    nm = nmplot_configure(nm, "-tolfunrelative", 10*%eps);
+    nm = nmplot_configure(nm, "-tolxrelative", 10*%eps);
+    nm = nmplot_configure(nm, "-simplex0method", "given");
+    nm = nmplot_configure(nm, "-coords0", coords0);
+
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm, "-simplexfn", simplexfn);
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+
+    //
+    // Plot
+    //
+    mprintf(_("Plotting contour (please wait) ...\n"));
+    xmin = -0.2 ;
+    xmax = 1.2 ;
+    ymin = -1.5 ;
+    ymax = 1.5 ;
+    nx = 50 ;
+    ny = 50;
+    scf();
+    xset("fpf"," ")
+    drawlater();
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    contour ( xdata , ydata , han2C , [0.1 0.2 0.5 1.0 1.5 1.9] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+    //
+    // Cleanup
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_nmplot_2()
+clear demo_nmplot_2;
+
+
+
+
+
+
index 87164fd..9cc8969 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_mckinnon2()\r
-    filename = "nmplot_mckinnon.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Defining McKinnon function...\n"));\r
-    //% MCKINNON computes the McKinnon function.\r
-    //\r
-    //  Discussion:\r
-    //\r
-    //  This function has a global minimizer:\r
-    //\r
-    //    X* = ( 0.0, -0.5 ), F(X*) = -0.25\r
-    //\r
-    //  There are three parameters, TAU, THETA and PHI.\r
-    //\r
-    //  1 < TAU, then F is strictly convex.\r
-    //       and F has continuous first derivatives.\r
-    //  2 < TAU, then F has continuous second derivatives.\r
-    //  3 < TAU, then F has continuous third derivatives.\r
-    //\r
-    //  However, this function can cause the Nelder-Mead optimization\r
-    //  algorithm to "converge" to a point which is not the minimizer\r
-    //  of the function F.\r
-    //\r
-    //  Sample parameter values which cause problems for Nelder-Mead\r
-    //  include:\r
-    //\r
-    //    TAU = 1, THETA = 15, PHI =  10;\r
-    //    TAU = 2, THETA =  6, PHI =  60;\r
-    //    TAU = 3, THETA =  6, PHI = 400;\r
-    //\r
-    //  To get the bad behavior, we also assume the initial simplex has the form\r
-    //\r
-    //    X1 = (0,0),\r
-    //    X2 = (1,1),\r
-    //    X3 = (A,B),\r
-    //\r
-    //  where\r
-    //\r
-    //    A = (1+sqrt(33))/8 =  0.84307...\r
-    //    B = (1-sqrt(33))/8 = -0.59307...\r
-    //\r
-    //  Licensing:\r
-    //\r
-    //  This code is distributed under the GNU LGPL license.\r
-    //\r
-    //  Modified:\r
-    //\r
-    //  09 February 2008\r
-    //\r
-    //  Author:\r
-    //\r
-    //  John Burkardt\r
-    //\r
-    //  Reference:\r
-    //\r
-    //  Ken McKinnon,\r
-    //  Convergence of the Nelder-Mead simplex method to a nonstationary point,\r
-    //  SIAM Journal on Optimization,\r
-    //  Volume 9, Number 1, 1998, pages 148-158.\r
-    //\r
-    //  Parameters:\r
-    //\r
-    //  Input, real X(2), the argument of the function.\r
-    //\r
-    //  Output, real F, the value of the function at X.\r
-    //\r
-    // Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port\r
-\r
-    function [ f , index ] = mckinnon3 ( x , index )\r
-\r
-        if ( length ( x ) ~= 2 )\r
-            error (_("Error: function expects a two dimensional input\n"));\r
-        end\r
-\r
-        tau = 3.0;\r
-        theta = 6.0;\r
-        phi = 400.0;\r
-\r
-        if ( x(1) <= 0.0 )\r
-            f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );\r
-        else\r
-            f = theta     *     x(1).^tau   + x(2) * ( 1.0 + x(2) );\r
-        end\r
-    endfunction\r
-    function y = mckinnon3C ( x1 , x2 )\r
-        y = mckinnon3 ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-\r
-    lambda1 = (1.0 + sqrt(33.0))/8.0;\r
-    lambda2 = (1.0 - sqrt(33.0))/8.0;\r
-    coords0 = [\r
-    1.0 1.0\r
-    0.0 0.0\r
-    lambda1 lambda2\r
-    ];\r
-\r
-\r
-    x0 = [1.0 1.0]';\r
-    mprintf(_("x0 = %s\n"),strcat(string(x0)," "));\r
-    mprintf(_("Creating object ...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",mckinnon3);\r
-    nm = nmplot_configure(nm, "-x0",x0);\r
-    nm = nmplot_configure(nm, "-maxiter",200);\r
-    nm = nmplot_configure(nm, "-maxfunevals",300);\r
-    nm = nmplot_configure(nm, "-tolfunrelative",10*%eps);\r
-    nm = nmplot_configure(nm, "-tolxrelative",10*%eps);\r
-    nm = nmplot_configure(nm, "-simplex0method","given");\r
-    nm = nmplot_configure(nm, "-coords0",coords0);\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    fbarfn = TMPDIR + filesep() + "history.fbar.txt";\r
-    foptfn = TMPDIR + filesep() + "history.fopt.txt";\r
-    sigmafn = TMPDIR + filesep() + "history.sigma.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-    nm = nmplot_configure(nm, "-fbarfn",fbarfn);\r
-    nm = nmplot_configure(nm, "-foptfn",foptfn);\r
-    nm = nmplot_configure(nm, "-sigmafn",sigmafn);\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-    //\r
-    // Plot\r
-    //\r
-    mprintf(_("Plot contour (please wait) ...\n"));\r
-    xmin = -0.2;\r
-    xmax = 1.2 ;\r
-    ymin = -2.0 ;\r
-    ymax = 2.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    scf();\r
-    f = gcf();\r
-    f.axes_size = [710, 560];\r
-    subplot(2,2,1)\r
-    xset("fpf"," ")\r
-    drawlater();\r
-    contour ( xdata , ydata , mckinnon3C , [-0.2 0.0 1.0 2.0 5.0 10.0 20.0] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    subplot(2,2,2)\r
-    mytitle = _("Function Value Average");\r
-    myxlabel = _("Iterations");\r
-    nmplot_historyplot ( nm , fbarfn, mytitle , myxlabel );\r
-    subplot(2,2,3)\r
-    mytitle = _("Minimum Function Value") ;\r
-    myxlabel = _("Iterations");\r
-    nmplot_historyplot ( nm , foptfn, mytitle , myxlabel );\r
-    subplot(2,2,4)\r
-    mytitle = _("Maximum Oriented length") ;\r
-    myxlabel = _("Iterations") ;\r
-    nmplot_historyplot ( nm , sigmafn, mytitle , myxlabel );\r
-    demo_viewCode(filename);\r
-    deletefile(simplexfn);\r
-    deletefile(fbarfn);\r
-    deletefile(foptfn);\r
-    deletefile(sigmafn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_mckinnon2()\r
-clear demo_mckinnon2;\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_mckinnon2()
+    filename = "nmplot_mckinnon.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Defining McKinnon function...\n"));
+    //% MCKINNON computes the McKinnon function.
+    //
+    //  Discussion:
+    //
+    //  This function has a global minimizer:
+    //
+    //    X* = ( 0.0, -0.5 ), F(X*) = -0.25
+    //
+    //  There are three parameters, TAU, THETA and PHI.
+    //
+    //  1 < TAU, then F is strictly convex.
+    //       and F has continuous first derivatives.
+    //  2 < TAU, then F has continuous second derivatives.
+    //  3 < TAU, then F has continuous third derivatives.
+    //
+    //  However, this function can cause the Nelder-Mead optimization
+    //  algorithm to "converge" to a point which is not the minimizer
+    //  of the function F.
+    //
+    //  Sample parameter values which cause problems for Nelder-Mead
+    //  include:
+    //
+    //    TAU = 1, THETA = 15, PHI =  10;
+    //    TAU = 2, THETA =  6, PHI =  60;
+    //    TAU = 3, THETA =  6, PHI = 400;
+    //
+    //  To get the bad behavior, we also assume the initial simplex has the form
+    //
+    //    X1 = (0,0),
+    //    X2 = (1,1),
+    //    X3 = (A,B),
+    //
+    //  where
+    //
+    //    A = (1+sqrt(33))/8 =  0.84307...
+    //    B = (1-sqrt(33))/8 = -0.59307...
+    //
+    //  Licensing:
+    //
+    //  This code is distributed under the GNU LGPL license.
+    //
+    //  Modified:
+    //
+    //  09 February 2008
+    //
+    //  Author:
+    //
+    //  John Burkardt
+    //
+    //  Reference:
+    //
+    //  Ken McKinnon,
+    //  Convergence of the Nelder-Mead simplex method to a nonstationary point,
+    //  SIAM Journal on Optimization,
+    //  Volume 9, Number 1, 1998, pages 148-158.
+    //
+    //  Parameters:
+    //
+    //  Input, real X(2), the argument of the function.
+    //
+    //  Output, real F, the value of the function at X.
+    //
+    // Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port
+
+    function [ f , index ] = mckinnon3 ( x , index )
+
+        if ( length ( x ) ~= 2 )
+            error (_("Error: function expects a two dimensional input\n"));
+        end
+
+        tau = 3.0;
+        theta = 6.0;
+        phi = 400.0;
+
+        if ( x(1) <= 0.0 )
+            f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );
+        else
+            f = theta     *     x(1).^tau   + x(2) * ( 1.0 + x(2) );
+        end
+    endfunction
+    function y = mckinnon3C ( x1 , x2 )
+        y = mckinnon3 ( [x1 , x2] , 2 )
+    endfunction
+
+
+    lambda1 = (1.0 + sqrt(33.0))/8.0;
+    lambda2 = (1.0 - sqrt(33.0))/8.0;
+    coords0 = [
+    1.0 1.0
+    0.0 0.0
+    lambda1 lambda2
+    ];
+
+
+    x0 = [1.0 1.0]';
+    mprintf(_("x0 = %s\n"),strcat(string(x0)," "));
+    mprintf(_("Creating object ...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",mckinnon3);
+    nm = nmplot_configure(nm, "-x0",x0);
+    nm = nmplot_configure(nm, "-maxiter",200);
+    nm = nmplot_configure(nm, "-maxfunevals",300);
+    nm = nmplot_configure(nm, "-tolfunrelative",10*%eps);
+    nm = nmplot_configure(nm, "-tolxrelative",10*%eps);
+    nm = nmplot_configure(nm, "-simplex0method","given");
+    nm = nmplot_configure(nm, "-coords0",coords0);
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    fbarfn = TMPDIR + filesep() + "history.fbar.txt";
+    foptfn = TMPDIR + filesep() + "history.fopt.txt";
+    sigmafn = TMPDIR + filesep() + "history.sigma.txt";
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+    nm = nmplot_configure(nm, "-fbarfn",fbarfn);
+    nm = nmplot_configure(nm, "-foptfn",foptfn);
+    nm = nmplot_configure(nm, "-sigmafn",sigmafn);
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+    //
+    // Plot
+    //
+    mprintf(_("Plot contour (please wait) ...\n"));
+    xmin = -0.2;
+    xmax = 1.2 ;
+    ymin = -2.0 ;
+    ymax = 2.0 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    scf();
+    f = gcf();
+    f.axes_size = [710, 560];
+    subplot(2,2,1)
+    xset("fpf"," ")
+    drawlater();
+    contour ( xdata , ydata , mckinnon3C , [-0.2 0.0 1.0 2.0 5.0 10.0 20.0] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    subplot(2,2,2)
+    mytitle = _("Function Value Average");
+    myxlabel = _("Iterations");
+    nmplot_historyplot ( nm , fbarfn, mytitle , myxlabel );
+    subplot(2,2,3)
+    mytitle = _("Minimum Function Value") ;
+    myxlabel = _("Iterations");
+    nmplot_historyplot ( nm , foptfn, mytitle , myxlabel );
+    subplot(2,2,4)
+    mytitle = _("Maximum Oriented length") ;
+    myxlabel = _("Iterations") ;
+    nmplot_historyplot ( nm , sigmafn, mytitle , myxlabel );
+    demo_viewCode(filename);
+    deletefile(simplexfn);
+    deletefile(fbarfn);
+    deletefile(foptfn);
+    deletefile(sigmafn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_mckinnon2()
+clear demo_mckinnon2;
+
+
+
+
+
+
index 7be8cc4..7a21a05 100644 (file)
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-\r
-function demo_mckinnon2()\r
-\r
-    mprintf(_("Defining McKinnon function...\n"));\r
-\r
-    //% MCKINNON computes the McKinnon function.\r
-    //\r
-    //  Discussion:\r
-    //\r
-    //    This function has a global minimizer:\r
-    //\r
-    //      X* = ( 0.0, -0.5 ), F(X*) = -0.25\r
-    //\r
-    //    There are three parameters, TAU, THETA and PHI.\r
-    //\r
-    //    1 < TAU, then F is strictly convex.\r
-    //             and F has continuous first derivatives.\r
-    //    2 < TAU, then F has continuous second derivatives.\r
-    //    3 < TAU, then F has continuous third derivatives.\r
-    //\r
-    //    However, this function can cause the Nelder-Mead optimization\r
-    //    algorithm to "converge" to a point which is not the minimizer\r
-    //    of the function F.\r
-    //\r
-    //    Sample parameter values which cause problems for Nelder-Mead\r
-    //    include:\r
-    //\r
-    //      TAU = 1, THETA = 15, PHI =  10;\r
-    //      TAU = 2, THETA =  6, PHI =  60;\r
-    //      TAU = 3, THETA =  6, PHI = 400;\r
-    //\r
-    //    To get the bad behavior, we also assume the initial simplex has the form\r
-    //\r
-    //      X1 = (0,0),\r
-    //      X2 = (1,1),\r
-    //      X3 = (A,B),\r
-    //\r
-    //    where\r
-    //\r
-    //      A = (1+sqrt(33))/8 =  0.84307...\r
-    //      B = (1-sqrt(33))/8 = -0.59307...\r
-    //\r
-    //  Licensing:\r
-    //\r
-    //    This code is distributed under the GNU LGPL license.\r
-    //\r
-    //  Modified:\r
-    //\r
-    //    09 February 2008\r
-    //\r
-    //  Author:\r
-    //\r
-    //    John Burkardt\r
-    //\r
-    //  Reference:\r
-    //\r
-    //    Ken McKinnon,\r
-    //    Convergence of the Nelder-Mead simplex method to a nonstationary point,\r
-    //    SIAM Journal on Optimization,\r
-    //    Volume 9, Number 1, 1998, pages 148-158.\r
-    //\r
-    //  Parameters:\r
-    //\r
-    //    Input, real X(2), the argument of the function.\r
-    //\r
-    //    Output, real F, the value of the function at X.\r
-    //\r
-    // Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port\r
-\r
-    function [ f , index ] = mckinnon3 ( x , index )\r
-\r
-        if ( length ( x ) ~= 2 )\r
-            error (_("Error: function expects a two dimensional input\n"));\r
-        end\r
-\r
-        tau = 3.0;\r
-        theta = 6.0;\r
-        phi = 400.0;\r
-\r
-        if ( x(1) <= 0.0 )\r
-            f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );\r
-        else\r
-            f = theta       *       x(1).^tau   + x(2) * ( 1.0 + x(2) );\r
-        end\r
-    endfunction\r
-    function y = mckinnon3C ( x1 , x2 )\r
-        y = mckinnon3 ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    lambda1 = (1.0 + sqrt(33.0))/8.0;\r
-    lambda2 = (1.0 - sqrt(33.0))/8.0;\r
-    coords0 = [\r
-    1.0  1.0\r
-    0.0  0.0\r
-    lambda1 lambda2\r
-    ];\r
-\r
-\r
-    x0 = [1.0 1.0]';\r
-    mprintf(_("x0=%s\n"), strcat(string(x0)," "));\r
-    mprintf(_("Creating object...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",mckinnon3);\r
-    nm = nmplot_configure(nm, "-x0",x0);\r
-    nm = nmplot_configure(nm, "-maxiter",200);\r
-    nm = nmplot_configure(nm, "-maxfunevals",300);\r
-    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-6);\r
-    nm = nmplot_configure(nm, "-simplex0method","given");\r
-    nm = nmplot_configure(nm, "-coords0",coords0);\r
-    nm = nmplot_configure(nm, "-kelleystagnationflag",%t);\r
-    nm = nmplot_configure(nm, "-restartflag",%t);\r
-    nm = nmplot_configure(nm, "-restartdetection","kelley");\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    fbarfn = TMPDIR + filesep() + "history.fbar.txt";\r
-    foptfn = TMPDIR + filesep() + "history.fopt.txt";\r
-    sigmafn = TMPDIR + filesep() + "history.sigma.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-    nm = nmplot_configure(nm, "-fbarfn",fbarfn);\r
-    nm = nmplot_configure(nm, "-foptfn",foptfn);\r
-    nm = nmplot_configure(nm, "-sigmafn",sigmafn);\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    disp(nm);\r
-\r
-    //\r
-    // Plot\r
-    //\r
-    mprintf(_("Plot contour (please wait) ...\n"));\r
-    xmin = -0.2;\r
-    xmax = 1.2 ;\r
-    ymin = -2.0 ;\r
-    ymax = 2.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    scf();\r
-    f = gcf();\r
-    f.axes_size = [710, 560];\r
-    subplot(2,2,1)\r
-    xset("fpf"," ")\r
-    drawlater();\r
-    contour ( xdata , ydata , mckinnon3C , [-0.2 0.0 1.0 2.0 5.0 10.0 20.0] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    subplot(2,2,2)\r
-    mytitle = _("Function Value Average");\r
-    myxlabel = _("Iterations");\r
-    nmplot_historyplot ( nm , fbarfn, mytitle , myxlabel );\r
-    subplot(2,2,3)\r
-    mytitle = _("Minimum Function Value") ;\r
-    myxlabel = _("Iterations");\r
-    nmplot_historyplot ( nm , foptfn, mytitle , myxlabel );\r
-    subplot(2,2,4)\r
-    mytitle = _("Maximum Oriented length") ;\r
-    myxlabel = _("Iterations") ;\r
-    nmplot_historyplot ( nm , sigmafn, mytitle , myxlabel );\r
-    demo_viewCode("nmplot_mckinnon2.sce");\r
-    deletefile(simplexfn);\r
-    deletefile(fbarfn);\r
-    deletefile(foptfn);\r
-    deletefile(sigmafn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_mckinnon2();\r
-clear demo_mckinnon2\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function demo_mckinnon2()
+
+    mprintf(_("Defining McKinnon function...\n"));
+
+    //% MCKINNON computes the McKinnon function.
+    //
+    //  Discussion:
+    //
+    //    This function has a global minimizer:
+    //
+    //      X* = ( 0.0, -0.5 ), F(X*) = -0.25
+    //
+    //    There are three parameters, TAU, THETA and PHI.
+    //
+    //    1 < TAU, then F is strictly convex.
+    //             and F has continuous first derivatives.
+    //    2 < TAU, then F has continuous second derivatives.
+    //    3 < TAU, then F has continuous third derivatives.
+    //
+    //    However, this function can cause the Nelder-Mead optimization
+    //    algorithm to "converge" to a point which is not the minimizer
+    //    of the function F.
+    //
+    //    Sample parameter values which cause problems for Nelder-Mead
+    //    include:
+    //
+    //      TAU = 1, THETA = 15, PHI =  10;
+    //      TAU = 2, THETA =  6, PHI =  60;
+    //      TAU = 3, THETA =  6, PHI = 400;
+    //
+    //    To get the bad behavior, we also assume the initial simplex has the form
+    //
+    //      X1 = (0,0),
+    //      X2 = (1,1),
+    //      X3 = (A,B),
+    //
+    //    where
+    //
+    //      A = (1+sqrt(33))/8 =  0.84307...
+    //      B = (1-sqrt(33))/8 = -0.59307...
+    //
+    //  Licensing:
+    //
+    //    This code is distributed under the GNU LGPL license.
+    //
+    //  Modified:
+    //
+    //    09 February 2008
+    //
+    //  Author:
+    //
+    //    John Burkardt
+    //
+    //  Reference:
+    //
+    //    Ken McKinnon,
+    //    Convergence of the Nelder-Mead simplex method to a nonstationary point,
+    //    SIAM Journal on Optimization,
+    //    Volume 9, Number 1, 1998, pages 148-158.
+    //
+    //  Parameters:
+    //
+    //    Input, real X(2), the argument of the function.
+    //
+    //    Output, real F, the value of the function at X.
+    //
+    // Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port
+
+    function [ f , index ] = mckinnon3 ( x , index )
+
+        if ( length ( x ) ~= 2 )
+            error (_("Error: function expects a two dimensional input\n"));
+        end
+
+        tau = 3.0;
+        theta = 6.0;
+        phi = 400.0;
+
+        if ( x(1) <= 0.0 )
+            f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );
+        else
+            f = theta       *       x(1).^tau   + x(2) * ( 1.0 + x(2) );
+        end
+    endfunction
+    function y = mckinnon3C ( x1 , x2 )
+        y = mckinnon3 ( [x1 , x2] , 2 )
+    endfunction
+
+    lambda1 = (1.0 + sqrt(33.0))/8.0;
+    lambda2 = (1.0 - sqrt(33.0))/8.0;
+    coords0 = [
+    1.0  1.0
+    0.0  0.0
+    lambda1 lambda2
+    ];
+
+
+    x0 = [1.0 1.0]';
+    mprintf(_("x0=%s\n"), strcat(string(x0)," "));
+    mprintf(_("Creating object...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",mckinnon3);
+    nm = nmplot_configure(nm, "-x0",x0);
+    nm = nmplot_configure(nm, "-maxiter",200);
+    nm = nmplot_configure(nm, "-maxfunevals",300);
+    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-6);
+    nm = nmplot_configure(nm, "-simplex0method","given");
+    nm = nmplot_configure(nm, "-coords0",coords0);
+    nm = nmplot_configure(nm, "-kelleystagnationflag",%t);
+    nm = nmplot_configure(nm, "-restartflag",%t);
+    nm = nmplot_configure(nm, "-restartdetection","kelley");
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    fbarfn = TMPDIR + filesep() + "history.fbar.txt";
+    foptfn = TMPDIR + filesep() + "history.fopt.txt";
+    sigmafn = TMPDIR + filesep() + "history.sigma.txt";
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+    nm = nmplot_configure(nm, "-fbarfn",fbarfn);
+    nm = nmplot_configure(nm, "-foptfn",foptfn);
+    nm = nmplot_configure(nm, "-sigmafn",sigmafn);
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    disp(nm);
+
+    //
+    // Plot
+    //
+    mprintf(_("Plot contour (please wait) ...\n"));
+    xmin = -0.2;
+    xmax = 1.2 ;
+    ymin = -2.0 ;
+    ymax = 2.0 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    scf();
+    f = gcf();
+    f.axes_size = [710, 560];
+    subplot(2,2,1)
+    xset("fpf"," ")
+    drawlater();
+    contour ( xdata , ydata , mckinnon3C , [-0.2 0.0 1.0 2.0 5.0 10.0 20.0] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    subplot(2,2,2)
+    mytitle = _("Function Value Average");
+    myxlabel = _("Iterations");
+    nmplot_historyplot ( nm , fbarfn, mytitle , myxlabel );
+    subplot(2,2,3)
+    mytitle = _("Minimum Function Value") ;
+    myxlabel = _("Iterations");
+    nmplot_historyplot ( nm , foptfn, mytitle , myxlabel );
+    subplot(2,2,4)
+    mytitle = _("Maximum Oriented length") ;
+    myxlabel = _("Iterations") ;
+    nmplot_historyplot ( nm , sigmafn, mytitle , myxlabel );
+    demo_viewCode("nmplot_mckinnon2.sce");
+    deletefile(simplexfn);
+    deletefile(fbarfn);
+    deletefile(foptfn);
+    deletefile(sigmafn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_mckinnon2();
+clear demo_mckinnon2
+
+
+
index 2bfa69e..5f1947d 100644 (file)
@@ -1,87 +1,87 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_qfixed()\r
-\r
-    filename = "nmplot_quadratic.fixed.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates that the fixed-shape Spendley et al. algorithm performs well on a quadratic test case.\n"));\r
-    mprintf(_("Defining quadratic function ...\n"));\r
-\r
-    function [ y , index ] = quadratic ( x , index )\r
-        y = x(1)^2 + x(2)^2 - x(1) * x(2);\r
-    endfunction\r
-    function y = quadraticC ( x1, x2 )\r
-        y = quadratic ( [x1, x2] , 2 )\r
-    endfunction\r
-\r
-    mprintf(_("Creating nmplot object ...\n"));\r
-\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",quadratic);\r
-    nm = nmplot_configure(nm, "-x0",[2.0 2.0]');\r
-    nm = nmplot_configure(nm, "-maxiter",100);\r
-    nm = nmplot_configure(nm, "-maxfunevals",300);\r
-    nm = nmplot_configure(nm, "-tolxmethod",%f);\r
-    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);\r
-    nm = nmplot_configure(nm, "-simplex0method","spendley");\r
-    nm = nmplot_configure(nm, "-method","fixed");\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-\r
-    // Plot simplex history\r
-    scf();\r
-    // Plot the contours of the cost function and the simplex history\r
-    mprintf(_("Plotting contour (please wait) ...\n"));\r
-    nm = nmplot_configure(nm, "-verbose",0);\r
-    xmin = -2.0 ;\r
-    xmax = 4.0 ;\r
-    ymin = -2.0 ;\r
-    ymax = 4.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    drawlater();\r
-    contour ( xdata , ydata , quadraticC , [0.1 1.0 2.0 5.0 10.0 15.0 20.0] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-\r
-    // Clean-up\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf("End of demo.\n");\r
-endfunction\r
-\r
-demo_nmplot_qfixed();\r
-clear demo_nmplot_qfixed;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_qfixed()
+
+    filename = "nmplot_quadratic.fixed.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates that the fixed-shape Spendley et al. algorithm performs well on a quadratic test case.\n"));
+    mprintf(_("Defining quadratic function ...\n"));
+
+    function [ y , index ] = quadratic ( x , index )
+        y = x(1)^2 + x(2)^2 - x(1) * x(2);
+    endfunction
+    function y = quadraticC ( x1, x2 )
+        y = quadratic ( [x1, x2] , 2 )
+    endfunction
+
+    mprintf(_("Creating nmplot object ...\n"));
+
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",quadratic);
+    nm = nmplot_configure(nm, "-x0",[2.0 2.0]');
+    nm = nmplot_configure(nm, "-maxiter",100);
+    nm = nmplot_configure(nm, "-maxfunevals",300);
+    nm = nmplot_configure(nm, "-tolxmethod",%f);
+    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);
+    nm = nmplot_configure(nm, "-simplex0method","spendley");
+    nm = nmplot_configure(nm, "-method","fixed");
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+
+    // Plot simplex history
+    scf();
+    // Plot the contours of the cost function and the simplex history
+    mprintf(_("Plotting contour (please wait) ...\n"));
+    nm = nmplot_configure(nm, "-verbose",0);
+    xmin = -2.0 ;
+    xmax = 4.0 ;
+    ymin = -2.0 ;
+    ymax = 4.0 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    drawlater();
+    contour ( xdata , ydata , quadraticC , [0.1 1.0 2.0 5.0 10.0 15.0 20.0] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+
+    // Clean-up
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf("End of demo.\n");
+endfunction
+
+demo_nmplot_qfixed();
+clear demo_nmplot_qfixed;
+
+
+
+
index ec5b0fe..ea51f1f 100644 (file)
@@ -1,87 +1,87 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_qfixed2()\r
-\r
-    filename = "nmplot_quadratic.fixed2.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates that the fixed-shape Spendley et al. algorithm performs badly on a badly quadratic test case.\n"));\r
-    mprintf(_("Defining quadratic function...\n"));\r
-    a = 100;\r
-\r
-    function [ y , index ] = quadratic ( x , index )\r
-        y = a * x(1)^2 + x(2)^2;\r
-    endfunction\r
-    function y = quadraticC ( x1 , x2 )\r
-        y = quadratic ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    mprintf(_("Creating nmplot object ...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",quadratic);\r
-    nm = nmplot_configure(nm, "-x0",[10.0 10.0]');\r
-    nm = nmplot_configure(nm, "-maxiter",400);\r
-    nm = nmplot_configure(nm, "-maxfunevals",400);\r
-    nm = nmplot_configure(nm, "-tolxmethod",%f);\r
-    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);\r
-    nm = nmplot_configure(nm, "-simplex0method","spendley");\r
-    nm = nmplot_configure(nm, "-method","fixed");\r
-\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-    //\r
-    // Plot the contours of the cost function and the simplex history\r
-    mprintf(_("Plotting contour (please wait) ...\n"));\r
-    nm = nmplot_configure(nm, "-verbose", 0);\r
-    xmin = -5.0 ;\r
-    xmax = 12.0 ;\r
-    ymin = -2.0 ;\r
-    ymax = 12.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    scf()\r
-    drawlater();\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    contour ( xdata , ydata , quadraticC , [10.0 50 100 1000 2000 5000 10000 20000] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-\r
-    // Clean-up\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf("End of demo.\n");\r
-endfunction\r
-\r
-demo_nmplot_qfixed2();\r
-clear demo_nmplot_qfixed2;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_qfixed2()
+
+    filename = "nmplot_quadratic.fixed2.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates that the fixed-shape Spendley et al. algorithm performs badly on a badly quadratic test case.\n"));
+    mprintf(_("Defining quadratic function...\n"));
+    a = 100;
+
+    function [ y , index ] = quadratic ( x , index )
+        y = a * x(1)^2 + x(2)^2;
+    endfunction
+    function y = quadraticC ( x1 , x2 )
+        y = quadratic ( [x1 , x2] , 2 )
+    endfunction
+
+    mprintf(_("Creating nmplot object ...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",quadratic);
+    nm = nmplot_configure(nm, "-x0",[10.0 10.0]');
+    nm = nmplot_configure(nm, "-maxiter",400);
+    nm = nmplot_configure(nm, "-maxfunevals",400);
+    nm = nmplot_configure(nm, "-tolxmethod",%f);
+    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);
+    nm = nmplot_configure(nm, "-simplex0method","spendley");
+    nm = nmplot_configure(nm, "-method","fixed");
+
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+    //
+    // Plot the contours of the cost function and the simplex history
+    mprintf(_("Plotting contour (please wait) ...\n"));
+    nm = nmplot_configure(nm, "-verbose", 0);
+    xmin = -5.0 ;
+    xmax = 12.0 ;
+    ymin = -2.0 ;
+    ymax = 12.0 ;
+    nx = 50 ;
+    ny = 50;
+    scf()
+    drawlater();
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    contour ( xdata , ydata , quadraticC , [10.0 50 100 1000 2000 5000 10000 20000] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+
+    // Clean-up
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf("End of demo.\n");
+endfunction
+
+demo_nmplot_qfixed2();
+clear demo_nmplot_qfixed2;
+
+
+
+
index d05c844..90222f5 100644 (file)
@@ -1,84 +1,84 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_qvariable()\r
-\r
-    filename = "nmplot_quadratic.variable.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates that the variable-shape Nelder-Mead algorithm performs well on a quadratic test case.\n"));\r
-    mprintf(_("Defining quadratic function ...\n"));\r
-    function [ y , index ] = quadratic ( x , index )\r
-        y = x(1)^2 + x(2)^2 - x(1) * x(2);\r
-    endfunction\r
-    function y = quadraticC ( x1 , x2 )\r
-        y = quadratic ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    mprintf(_("Creating nmplot object...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",quadratic);\r
-    nm = nmplot_configure(nm, "-x0",[2.0 2.0]');\r
-    nm = nmplot_configure(nm, "-maxiter",100);\r
-    nm = nmplot_configure(nm, "-maxfunevals",300);\r
-    nm = nmplot_configure(nm, "-tolxmethod",%f);\r
-    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);\r
-    nm = nmplot_configure(nm, "-simplex0method","spendley");\r
-\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-    //\r
-    // Plot the contours of the cost function and the simplex history\r
-    mprintf(_("Plotting contour (please wait) ...\n"));\r
-    nm = nmplot_configure(nm, "-verbose", 0);\r
-    xmin = -2.0 ;\r
-    xmax = 4.0 ;\r
-    ymin = -2.0 ;\r
-    ymax = 4.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    scf()\r
-    drawlater();\r
-    contour ( xdata , ydata , quadraticC , [0.1 1.0 2.0 5.0 10.0 15.0 20.0] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-\r
-    // Clean-up\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_nmplot_qvariable();\r
-clear demo_nmplot_qvariable;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_qvariable()
+
+    filename = "nmplot_quadratic.variable.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates that the variable-shape Nelder-Mead algorithm performs well on a quadratic test case.\n"));
+    mprintf(_("Defining quadratic function ...\n"));
+    function [ y , index ] = quadratic ( x , index )
+        y = x(1)^2 + x(2)^2 - x(1) * x(2);
+    endfunction
+    function y = quadraticC ( x1 , x2 )
+        y = quadratic ( [x1 , x2] , 2 )
+    endfunction
+
+    mprintf(_("Creating nmplot object...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",quadratic);
+    nm = nmplot_configure(nm, "-x0",[2.0 2.0]');
+    nm = nmplot_configure(nm, "-maxiter",100);
+    nm = nmplot_configure(nm, "-maxfunevals",300);
+    nm = nmplot_configure(nm, "-tolxmethod",%f);
+    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);
+    nm = nmplot_configure(nm, "-simplex0method","spendley");
+
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+    //
+    // Plot the contours of the cost function and the simplex history
+    mprintf(_("Plotting contour (please wait) ...\n"));
+    nm = nmplot_configure(nm, "-verbose", 0);
+    xmin = -2.0 ;
+    xmax = 4.0 ;
+    ymin = -2.0 ;
+    ymax = 4.0 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    scf()
+    drawlater();
+    contour ( xdata , ydata , quadraticC , [0.1 1.0 2.0 5.0 10.0 15.0 20.0] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+
+    // Clean-up
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_nmplot_qvariable();
+clear demo_nmplot_qvariable;
+
+
+
+
index ccea57a..114c70f 100644 (file)
@@ -1,84 +1,84 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_qvariable2()\r
-\r
-    filename = "nmplot_quadratic.variable2.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates that the Nelder-Mead algorithm performs correctly on a badly quadratic test case.\n"));\r
-    mprintf(_("Defining quadratic function ...\n"));\r
-    a = 100.0;\r
-    function [ y , index ] = quadratic ( x , index )\r
-        y = a * x(1)^2 + x(2)^2;\r
-    endfunction\r
-    function y = quadraticC ( x1 , x2 )\r
-        [ y , index ] = quadratic ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    mprintf(_("Creating nmplot object...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",quadratic);\r
-    nm = nmplot_configure(nm, "-x0",[10.0 10.0]');\r
-    nm = nmplot_configure(nm, "-maxiter",400);\r
-    nm = nmplot_configure(nm, "-maxfunevals",400);\r
-    nm = nmplot_configure(nm, "-tolxmethod",%f);\r
-    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);\r
-    nm = nmplot_configure(nm, "-simplex0method","spendley");\r
-\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-    //\r
-    // Plot the contours of the cost function and the simplex history\r
-    mprintf(_("Plotting contour (please wait) ...\n"));\r
-    nm = nmplot_configure(nm, "-verbose", 0);\r
-    xmin = -5.0 ;\r
-    xmax = 12.0 ;\r
-    ymin = -2.0 ;\r
-    ymax = 12.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    scf()\r
-    drawlater();\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    contour ( xdata , ydata , quadraticC , [10.0 50 100 1000 2000 5000 10000 20000] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-    //\r
-    // Clean-up\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_nmplot_qvariable2();\r
-clear demo_nmplot_qvariable2;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_qvariable2()
+
+    filename = "nmplot_quadratic.variable2.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates that the Nelder-Mead algorithm performs correctly on a badly quadratic test case.\n"));
+    mprintf(_("Defining quadratic function ...\n"));
+    a = 100.0;
+    function [ y , index ] = quadratic ( x , index )
+        y = a * x(1)^2 + x(2)^2;
+    endfunction
+    function y = quadraticC ( x1 , x2 )
+        [ y , index ] = quadratic ( [x1 , x2] , 2 )
+    endfunction
+
+    mprintf(_("Creating nmplot object...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",quadratic);
+    nm = nmplot_configure(nm, "-x0",[10.0 10.0]');
+    nm = nmplot_configure(nm, "-maxiter",400);
+    nm = nmplot_configure(nm, "-maxfunevals",400);
+    nm = nmplot_configure(nm, "-tolxmethod",%f);
+    nm = nmplot_configure(nm, "-tolsimplexizerelative",1.e-8);
+    nm = nmplot_configure(nm, "-simplex0method","spendley");
+
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+    //
+    // Plot the contours of the cost function and the simplex history
+    mprintf(_("Plotting contour (please wait) ...\n"));
+    nm = nmplot_configure(nm, "-verbose", 0);
+    xmin = -5.0 ;
+    xmax = 12.0 ;
+    ymin = -2.0 ;
+    ymax = 12.0 ;
+    nx = 50 ;
+    ny = 50;
+    scf()
+    drawlater();
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    contour ( xdata , ydata , quadraticC , [10.0 50 100 1000 2000 5000 10000 20000] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+    //
+    // Clean-up
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_nmplot_qvariable2();
+clear demo_nmplot_qvariable2;
+
+
+
+
index 7edc18e..46efa9e 100644 (file)
@@ -1,83 +1,83 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_rosen()\r
-\r
-    filename = "nmplot_rosenbrock.fixed.sce";\r
-    dname = get_absolute_file_path(filename);\r
-\r
-    mprintf(_("Illustrates that the fixed-shape Spendley et al. algorithm does NOT perform well on Rosenbrock test case.\n"));\r
-    mprintf(_("Defining Rosenbrock function...\n"));\r
-\r
-    function [ y , index ] = rosenbrock ( x , index )\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-    function [ y , index ] = rosenbrockC ( x1 , x2 )\r
-        y = rosenbrock ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    mprintf(_("Creating nmplot object ...\n"));\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm, "-numberofvariables",2);\r
-    nm = nmplot_configure(nm, "-function",rosenbrock);\r
-    nm = nmplot_configure(nm, "-x0",[-1.2 1.0]');\r
-    nm = nmplot_configure(nm, "-maxiter",100);\r
-    nm = nmplot_configure(nm, "-maxfunevals",300);\r
-    nm = nmplot_configure(nm, "-tolfunrelative",10*%eps);\r
-    nm = nmplot_configure(nm, "-tolxrelative",10*%eps);\r
-    nm = nmplot_configure(nm, "-method","fixed");\r
-\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm, "-simplexfn",simplexfn);\r
-\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf(_("Searching (please wait) ...\n"));\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-\r
-    // Plot the contours of the cost function and the simplex history\r
-    mprintf(_("Plotting contour (please wait) ...\n"));\r
-    xmin = -2.0 ;\r
-    xmax = 2.0 ;\r
-    ymin = -2.0 ;\r
-    ymax = 2.0 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    f = scf();\r
-    drawlater();\r
-    contour ( xdata , ydata , rosenbrockC , [2 10 100 500 1000 2000] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-    //\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf(_("End of demo.\n"));\r
-endfunction\r
-\r
-demo_nmplot_rosen()\r
-clear demo_nmplot_rosen;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_rosen()
+
+    filename = "nmplot_rosenbrock.fixed.sce";
+    dname = get_absolute_file_path(filename);
+
+    mprintf(_("Illustrates that the fixed-shape Spendley et al. algorithm does NOT perform well on Rosenbrock test case.\n"));
+    mprintf(_("Defining Rosenbrock function...\n"));
+
+    function [ y , index ] = rosenbrock ( x , index )
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+    function [ y , index ] = rosenbrockC ( x1 , x2 )
+        y = rosenbrock ( [x1 , x2] , 2 )
+    endfunction
+
+    mprintf(_("Creating nmplot object ...\n"));
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm, "-numberofvariables",2);
+    nm = nmplot_configure(nm, "-function",rosenbrock);
+    nm = nmplot_configure(nm, "-x0",[-1.2 1.0]');
+    nm = nmplot_configure(nm, "-maxiter",100);
+    nm = nmplot_configure(nm, "-maxfunevals",300);
+    nm = nmplot_configure(nm, "-tolfunrelative",10*%eps);
+    nm = nmplot_configure(nm, "-tolxrelative",10*%eps);
+    nm = nmplot_configure(nm, "-method","fixed");
+
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm, "-simplexfn",simplexfn);
+
+    //
+    // Perform optimization
+    //
+    mprintf(_("Searching (please wait) ...\n"));
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+
+    // Plot the contours of the cost function and the simplex history
+    mprintf(_("Plotting contour (please wait) ...\n"));
+    xmin = -2.0 ;
+    xmax = 2.0 ;
+    ymin = -2.0 ;
+    ymax = 2.0 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    f = scf();
+    drawlater();
+    contour ( xdata , ydata , rosenbrockC , [2 10 100 500 1000 2000] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+    //
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf(_("End of demo.\n"));
+endfunction
+
+demo_nmplot_rosen()
+clear demo_nmplot_rosen;
+
+
+
+
index b788996..7501008 100644 (file)
@@ -1,79 +1,79 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008-2009 - INRIA - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_nmplot_rosenvar()\r
-\r
-    filename = "nmplot_rosenbrock.sce";\r
-    dname = get_absolute_file_path(filename);\r
-    mprintf("Illustrates the Nelder-Mead algorithm on Rosenbrock test case.\n");\r
-    mprintf("Defining Rosenbrock function...\n");\r
-    function [ y , index ] = rosenbrock ( x , index )\r
-        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-    function [ y , index ] = rosenbrockC ( x1 , x2 )\r
-        y = rosenbrock ( [x1 , x2] , 2 )\r
-    endfunction\r
-\r
-    mprintf("Creating nmplot object...\n");\r
-    nm = nmplot_new ();\r
-    nm = nmplot_configure(nm,"-numberofvariables",2);\r
-    nm = nmplot_configure(nm,"-function",rosenbrock);\r
-    nm = nmplot_configure(nm,"-x0",[-1.2 1.0]');\r
-    nm = nmplot_configure(nm,"-maxiter",200);\r
-    nm = nmplot_configure(nm,"-maxfunevals",300);\r
-    nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);\r
-    nm = nmplot_configure(nm,"-tolxrelative",10*%eps);\r
-    //\r
-    // Setup output files\r
-    //\r
-    simplexfn = TMPDIR + filesep() + "history.simplex.txt";\r
-    nm = nmplot_configure(nm,"-simplexfn",simplexfn);\r
-    //\r
-    // Perform optimization\r
-    //\r
-    mprintf("Searching (please wait)...\n");\r
-    nm = nmplot_search(nm);\r
-    //\r
-    // Print a summary\r
-    //\r
-    exec(fullfile(dname,"nmplot_summary.sci"),-1);\r
-    nmplot_summary(nm)\r
-    //\r
-    // Plot the contours of the cost function and the simplex history\r
-    mprintf("Plotting contour (please wait)...\n");\r
-    xmin = -2.0;\r
-    xmax = 2.0 ;\r
-    ymin = -1.0 ;\r
-    ymax = 2.5 ;\r
-    nx = 50 ;\r
-    ny = 50;\r
-    xdata=linspace(xmin,xmax,nx);\r
-    ydata=linspace(ymin,ymax,ny);\r
-    scf();\r
-    drawlater();\r
-    contour ( xdata , ydata , rosenbrockC , [2 10 100 500 1000 2000] )\r
-    nmplot_simplexhistory ( nm );\r
-    drawnow();\r
-    demo_viewCode(filename);\r
-    //\r
-    // Cleanup\r
-    deletefile(simplexfn);\r
-    nm = nmplot_destroy(nm);\r
-    mprintf("End of demo.\n");\r
-endfunction\r
-\r
-demo_nmplot_rosenvar()\r
-clear demo_nmplot_rosenvar;\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_nmplot_rosenvar()
+
+    filename = "nmplot_rosenbrock.sce";
+    dname = get_absolute_file_path(filename);
+    mprintf("Illustrates the Nelder-Mead algorithm on Rosenbrock test case.\n");
+    mprintf("Defining Rosenbrock function...\n");
+    function [ y , index ] = rosenbrock ( x , index )
+        y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+    function [ y , index ] = rosenbrockC ( x1 , x2 )
+        y = rosenbrock ( [x1 , x2] , 2 )
+    endfunction
+
+    mprintf("Creating nmplot object...\n");
+    nm = nmplot_new ();
+    nm = nmplot_configure(nm,"-numberofvariables",2);
+    nm = nmplot_configure(nm,"-function",rosenbrock);
+    nm = nmplot_configure(nm,"-x0",[-1.2 1.0]');
+    nm = nmplot_configure(nm,"-maxiter",200);
+    nm = nmplot_configure(nm,"-maxfunevals",300);
+    nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);
+    nm = nmplot_configure(nm,"-tolxrelative",10*%eps);
+    //
+    // Setup output files
+    //
+    simplexfn = TMPDIR + filesep() + "history.simplex.txt";
+    nm = nmplot_configure(nm,"-simplexfn",simplexfn);
+    //
+    // Perform optimization
+    //
+    mprintf("Searching (please wait)...\n");
+    nm = nmplot_search(nm);
+    //
+    // Print a summary
+    //
+    exec(fullfile(dname,"nmplot_summary.sci"),-1);
+    nmplot_summary(nm)
+    //
+    // Plot the contours of the cost function and the simplex history
+    mprintf("Plotting contour (please wait)...\n");
+    xmin = -2.0;
+    xmax = 2.0 ;
+    ymin = -1.0 ;
+    ymax = 2.5 ;
+    nx = 50 ;
+    ny = 50;
+    xdata=linspace(xmin,xmax,nx);
+    ydata=linspace(ymin,ymax,ny);
+    scf();
+    drawlater();
+    contour ( xdata , ydata , rosenbrockC , [2 10 100 500 1000 2000] )
+    nmplot_simplexhistory ( nm );
+    drawnow();
+    demo_viewCode(filename);
+    //
+    // Cleanup
+    deletefile(simplexfn);
+    nm = nmplot_destroy(nm);
+    mprintf("End of demo.\n");
+endfunction
+
+demo_nmplot_rosenvar()
+clear demo_nmplot_rosenvar;
+
+
+
+
index df933a7..daebb91 100644 (file)
@@ -1,59 +1,59 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_optim_output()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    xref = [1;2;3];\r
-    x0 = [1;-1;1];\r
-\r
-    function [f,g,ind] = cost(x,ind)\r
-        if ( ind == 1 | ind == 4 ) then\r
-            f = 0.5*norm(x-xref)^2;\r
-        end\r
-\r
-        if ( ind == 1 | ind == 4 ) then\r
-            g = x - xref;\r
-        end\r
-\r
-        if ( ind == 1 ) then\r
-            mprintf("===========\n")\r
-            mprintf("x = %s\n", strcat(string(x)," "))\r
-            mprintf("f = %e\n", f)\r
-            g=x-xref;\r
-            mprintf("g = %s\n", strcat(string(g)," "))\r
-        end\r
-\r
-    endfunction\r
-\r
-    [f, xopt] = optim(cost, x0, imp=-1)\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "optim_output.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename );\r
-    end\r
-endfunction\r
-\r
-demo_optim_output()\r
-clear demo_optim_output;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_optim_output()
+
+    mprintf(_("Running optimization ...\n"));
+
+    xref = [1;2;3];
+    x0 = [1;-1;1];
+
+    function [f,g,ind] = cost(x,ind)
+        if ( ind == 1 | ind == 4 ) then
+            f = 0.5*norm(x-xref)^2;
+        end
+
+        if ( ind == 1 | ind == 4 ) then
+            g = x - xref;
+        end
+
+        if ( ind == 1 ) then
+            mprintf("===========\n")
+            mprintf("x = %s\n", strcat(string(x)," "))
+            mprintf("f = %e\n", f)
+            g=x-xref;
+            mprintf("g = %s\n", strcat(string(g)," "))
+        end
+
+    endfunction
+
+    [f, xopt] = optim(cost, x0, imp=-1)
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "optim_output.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename );
+    end
+endfunction
+
+demo_optim_output()
+clear demo_optim_output;
+
+
+
+
+
+
+
+
index 8ceedc1..49b67fc 100644 (file)
@@ -1,61 +1,61 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_rosenbrock()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function [ f , g , ind ] = rosenbrock ( x , ind )\r
-        f = 100*(x(2)-x(1)^2)^2+(1-x(1))^2;\r
-        g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )\r
-        g(2) = 200. * ( x(2) - x(1)**2 )\r
-    endfunction\r
-\r
-    x0 = [-1.2 1];\r
-    [f, x] = optim(rosenbrock, x0);\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n", strcat(string(x)," "));\r
-    mprintf("f = %e\n", f);\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "optim_rosenbrock.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename );\r
-    end\r
-endfunction\r
-\r
-demo_rosenbrock();\r
-clear demo_rosenbrock;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_rosenbrock()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function [ f , g , ind ] = rosenbrock ( x , ind )
+        f = 100*(x(2)-x(1)^2)^2+(1-x(1))^2;
+        g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+        g(2) = 200. * ( x(2) - x(1)**2 )
+    endfunction
+
+    x0 = [-1.2 1];
+    [f, x] = optim(rosenbrock, x0);
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n", strcat(string(x)," "));
+    mprintf("f = %e\n", f);
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "optim_rosenbrock.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename );
+    end
+endfunction
+
+demo_rosenbrock();
+clear demo_rosenbrock;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
index ceeb5c5..c04bf86 100644 (file)
@@ -1,61 +1,61 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function demo_derivative()\r
-\r
-    mprintf(_("Running optimization ...\n"));\r
-\r
-    function f = rosenbrock ( x )\r
-        f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;\r
-    endfunction\r
-\r
-    function [ f , g , ind ] = rosenbrockCost2 ( x , ind )\r
-\r
-        if ((ind == 1) | (ind == 4)) then\r
-            f = rosenbrock ( x );\r
-        end\r
-\r
-        if ((ind == 1) | (ind == 4)) then\r
-            g = derivative ( rosenbrock , x.' , order = 4 );\r
-        end\r
-\r
-    endfunction\r
-\r
-    x0 = [-1.2 1.0];\r
-    [ f , x ] = optim ( rosenbrockCost2 , x0 );\r
-\r
-    //\r
-    // Display results\r
-    //\r
-    mprintf("x = %s\n",strcat(string(x)," "));\r
-    mprintf("f = %e\n",f);\r
-\r
-    //\r
-    // Load this script into the editor\r
-    //\r
-    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")\r
-    if(m == 1)\r
-        filename = "optim_withderivative.sce";\r
-        dname = get_absolute_file_path(filename);\r
-        editor ( dname + filename );\r
-    end\r
-endfunction\r
-\r
-\r
-demo_derivative();\r
-clear demo_derivative;\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function demo_derivative()
+
+    mprintf(_("Running optimization ...\n"));
+
+    function f = rosenbrock ( x )
+        f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+    endfunction
+
+    function [ f , g , ind ] = rosenbrockCost2 ( x , ind )
+
+        if ((ind == 1) | (ind == 4)) then
+            f = rosenbrock ( x );
+        end
+
+        if ((ind == 1) | (ind == 4)) then
+            g = derivative ( rosenbrock , x.' , order = 4 );
+        end
+
+    endfunction
+
+    x0 = [-1.2 1.0];
+    [ f , x ] = optim ( rosenbrockCost2 , x0 );
+
+    //
+    // Display results
+    //
+    mprintf("x = %s\n",strcat(string(x)," "));
+    mprintf("f = %e\n",f);
+
+    //
+    // Load this script into the editor
+    //
+    m = messagebox(_("View Code?"), "Question", "question", [_("Yes") _("No")], "modal")
+    if(m == 1)
+        filename = "optim_withderivative.sce";
+        dname = get_absolute_file_path(filename);
+        editor ( dname + filename );
+    end
+endfunction
+
+
+demo_derivative();
+clear demo_derivative;
+
+
+
+
+
+
+
index 78f02bb..efe4186 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Optimization and Simulation",SCI+"/modules/optimization/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Optimization and Simulation",SCI+"/modules/optimization/help/ja_JP",%T);
+
index fdcf461..a2fcf81 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Output functions",SCI+"/modules/output_stream/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Output functions",SCI+"/modules/output_stream/help/ja_JP",%T);
+
index 9512005..994f0f7 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2010 - DIGITEO - Allan CORNET\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Parallel", SCI + "/modules/parallel/help/ja_JP", %T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Parallel", SCI + "/modules/parallel/help/ja_JP", %T);
+
index d2f0c21..5abea34 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Parameters",SCI+"/modules/parameters/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Parameters",SCI+"/modules/parameters/help/ja_JP",%T);
+
index 200b6c8..11643ae 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Polynomials",SCI+"/modules/polynomials/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Polynomials",SCI+"/modules/polynomials/help/ja_JP",%T);
+
index dfa414b..be3d1b5 100755 (executable)
@@ -1,11 +1,11 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2009 - DIGITEO\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-add_help_chapter("Randlib",SCI+"/modules/randlib/help/ja_JP",%T);\r
-\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Randlib",SCI+"/modules/randlib/help/ja_JP",%T);
+
index 2aec692..9bbece0 100644 (file)
@@ -1,15 +1,15 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier\r
-//\r
-// This file must be used under the terms of the CeCILL.\r
-// This source file is licensed as described in the file COPYING, which\r
-// you should have received as part of this distribution.  The terms\r
-// are also available at\r
-// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt\r
-\r
-function y = %b_grand(n, prm, vect)\r
-    // Overload to use grand on boolean input\r
-\r
-  &n