X-Git-Url: http://gitweb.scilab.org/?p=scilab.git;a=blobdiff_plain;f=scilab%2Fmodules%2Fcacsd%2Ftests%2Funit_tests%2Fdscr.tst;h=6411a9e0568d875d4985a9f191eabb5242b5288b;hp=b877348a5aafebf59135df672131cd25d8cee359;hb=9711a49f83d5448baaefe0e4f719ad831a401c4e;hpb=b33e136dea33ca139b759efc9bf7507c89897626 diff --git a/scilab/modules/cacsd/tests/unit_tests/dscr.tst b/scilab/modules/cacsd/tests/unit_tests/dscr.tst index b877348..6411a9e 100644 --- a/scilab/modules/cacsd/tests/unit_tests/dscr.tst +++ b/scilab/modules/cacsd/tests/unit_tests/dscr.tst @@ -1,31 +1,12 @@ // ============================================================================= // 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 pause,end -endfunction + // Case #1 a=-1/3; @@ -33,13 +14,13 @@ 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; @@ -61,11 +42,11 @@ d=[1,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 );