X-Git-Url: http://gitweb.scilab.org/?p=scilab.git;a=blobdiff_plain;f=scilab%2Fmodules%2Fcacsd%2Ftests%2Funit_tests%2Fdscr.dia.ref;h=4b7a9f991584e84c2c622fb0762fa58777de9482;hp=ff3e789f16f02cb8d3b7f7768466b8c5580e6383;hb=9711a49f83d5448baaefe0e4f719ad831a401c4e;hpb=b33e136dea33ca139b759efc9bf7507c89897626 diff --git a/scilab/modules/cacsd/tests/unit_tests/dscr.dia.ref b/scilab/modules/cacsd/tests/unit_tests/dscr.dia.ref index ff3e789..4b7a9f9 100644 --- a/scilab/modules/cacsd/tests/unit_tests/dscr.dia.ref +++ b/scilab/modules/cacsd/tests/unit_tests/dscr.dia.ref @@ -1,43 +1,23 @@ // ============================================================================= // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab -// Copyright (C) ????-2008 - INRIA - Serge Steer +// Copyright (C) 2008 - INRIA - Serge Steer +// Copyright (C) 2011 - DIGITEO - Michael Baudin // // This file is distributed under the same license as the Scilab package. // ============================================================================= -// -// assert_close -- -// Returns 1 if the two real matrices computed and expected are close, -// i.e. if the relative distance between computed and expected is lesser than epsilon. -// Arguments -// computed, expected : the two matrices to compare -// epsilon : a small number -// -function flag = assert_close ( computed, expected, epsilon ) - if expected==0.0 then - shift = norm(computed-expected); - else - shift = norm(computed-expected)/norm(expected); - end - if shift < epsilon then - flag = 1; - else - flag = 0; - end - if flag <> 1 then bugmes();quit;end -endfunction // Case #1 a=-1/3; b=1; c=1; sl=syslin('c',a,b,c); sld=dscr(sl,0.1); -assert_close ( sld.dt , 0.1 , %eps ); +assert_checkalmostequal ( sld.dt , 0.1 , %eps ); computed = sld.A; expected = exp(sl.A*0.1); -assert_close ( computed , expected , %eps ); +assert_checkalmostequal ( computed , expected , %eps ); computed = sld.B; expected = sl.A\(sld.A-eye())*sl.B; -assert_close ( computed , expected , %eps ); +assert_checkalmostequal ( computed , expected , %eps ); // Case #2 a=[0.9,0,0.6,-1.4,-4.2; 0.2,0.1,-0.2,0.5,0.6; @@ -55,10 +35,10 @@ d=[1,0,0 0,0,0]; sl=syslin('c',a,b,c,d); sld=dscr(sl,0.1); -assert_close ( sld.dt , 0.1 , %eps ); +assert_checkalmostequal ( sld.dt , 0.1 , %eps ); computed = sld.A; expected = expm(sl.A*0.1); -assert_close ( computed , expected , %eps ); +assert_checkalmostequal ( computed , expected , %eps ); computed = sld.B; expected = sl.A\(sld.A-eye())*sl.B; -assert_close ( computed , expected , 1.e3 * %eps ); +assert_checkalmostequal ( computed , expected , 2.e5 * %eps );