Scicos tests: relieving compilation
[scilab.git] / scilab / modules / scicos / tests / unit_tests / ImpRK.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2012 - Scilab Enterprises - Paul Bignier
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- ENGLISH IMPOSED -->
8 // <-- XCOS TEST -->
9 // Import diagram
10 assert_checktrue(importXcosDiagram("SCI/modules/xcos/tests/unit_tests/RK_test.zcos"));
11 Info = scicos_simulate(scs_m, list(), 'nw');
12 for i=2:4  // 'max step size' = 10^-i, precision
13  // Start by updating the clock block period (sampling)
14  scs_m.objs(7).model.rpar(1) = 5*(10^-i);
15  scs_m.objs(8).model.rpar(1) = 5*(10^-i);
16  // Modify solver and 'max step size' + run ImpRK + save results
17  scs_m.props.tol(7) = 5*(10^-i); scs_m.props.tol(6) = 7;         // 'max step size' + solver
18  scs_m.props.tol(2) = 1.0e-12;                                   // reltol
19  try scicos_simulate(scs_m, Info, 'nw'); catch disp(lasterror()); end  // ImpRK
20  rkval = res.values;   // Results
21  time = res.time;      // Time
22  // Modify solver and reltol + run CVode + save results
23  scs_m.props.tol(6) = 4; scs_m.props.tol(2) = 1.0e-15;
24  try scicos_simulate(scs_m, Info, 'nw'); catch disp(lasterror()); end
25  cvval = res.values;
26  // Compare results
27  compa = abs(rkval-cvval);
28  // Extract mean, standard deviation, maximum
29  mea = mean(compa);
30  [maxi, indexMaxi] = max(compa);
31  stdeviation = st_deviation(compa);
32  // Verifying closeness of the results
33  assert_checktrue(maxi <= 10^-i);
34  assert_checktrue(mea <= 10^-i);
35  assert_checktrue(stdeviation <= 10^-i);
36 end