a8e93f3335cbad4a78973b46e02639d35192cc22
[scilab.git] / scilab / modules / xcos / examples / solvers / integRK.sce
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2009 - Paul Bignier
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // Run with exec("SCI/modules/xcos/examples/solvers/integRK.sce");
11
12 // Import the diagram and augment the ending time
13 loadScicos();
14 loadXcosLibs();
15 importXcosDiagram("SCI/modules/xcos/examples/solvers/ODE_Example.xcos");
16 scs_m.props.tf = 30000;
17
18 solverName=["BDF/Newton", "BDF/Functional", "Adams/Newton", "Adams/Functional", "Runge-Kutta"];
19
20 for solver=0:4
21
22  // Select the solver
23  scs_m.props.tol(6) = solver+1;
24
25  // Set max step size if Runge-Kutta
26  if ((solver+1) == 5) scs_m.props.tol(7) = 0.01;
27
28  // Start the timer, launch the simulation and display time
29  tic();
30  try scicos_simulate(scs_m, 'nw'); catch disp(lasterror()); end;
31  t = toc();
32  disp(t, "Time for " + solverName(solver+1) + " :");
33
34 end