f4e99b48a5fa29869354b5a6dbb9db4fb135102e
[scilab.git] / scilab / modules / optimization / tests / nonreg_tests / bug_4083.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Adeline CARNIS
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- CLI SHELL MODE -->
8 // <-- ENGLISH IMPOSED -->
9 // <-- Non-regression test for bug 4083 -->
10 //
11 // <-- Bugzilla URL -->
12 // http://bugzilla.scilab.org/show_bug.cgi?id=4083
13 //
14 // <-- Short Description -->
15 //    The numderivative function is created, which replaces both derivative and
16 //    numdiff functions.
17 // =============================================================================
18 function y = myfunction(x)
19     y = x^3;
20 endfunction
21 // Old 'numdiff' function equivalent
22 x = 1;
23 dx = sqrt(%eps)*(1+1d-3*abs(x));
24 g = numderivative(myfunction, x, dx);
25 expectedJ = 3;
26 assert_checkalmostequal(g, expectedJ, [], 1.d-8);
27 // Old 'numderivative' function equivalent
28 [J, H] = numderivative(myfunction, x);
29 expectedH = 6;
30 assert_checkalmostequal(J, expectedJ, [], 1.d-6);
31 assert_checkequal(H, expectedH);
32 [J, H] = numderivative(myfunction, x, %eps^(1/4));
33 expectedH = 6;
34 assert_checkalmostequal(J, expectedJ, [], 1.d-8);
35 assert_checkequal(H, expectedH);
36 // numderivative test
37 [J,H] = numderivative(myfunction, x);
38 assert_checkalmostequal(J, expectedJ, [], 1.d-8);
39 assert_checkequal(H, expectedH);