comparison scripts/statistics/distributions/logncdf.m @ 14817:8d3ab19f8599

Fix logncdf tests to use more accurate expected result. * scripts/statistics/distributions/logncdf.m: use erf(1/sqrt(2)*1/sqrt(2)) instead of erf(1/2) to avoid floating point errors that are below eps (alternate solution would be to add tolerance to the tests).
author Michael Goffioul <michael.goffioul@gmail.com>
date Tue, 12 Jun 2012 19:50:13 +0100
parents f3d52523cde1
children 39a2e91a246e
comparison
equal deleted inserted replaced
14816:2feab289622a 14817:8d3ab19f8599
71 endfunction 71 endfunction
72 72
73 73
74 %!shared x,y 74 %!shared x,y
75 %! x = [-1 0 1 e Inf]; 75 %! x = [-1 0 1 e Inf];
76 %! y = [0, 0, 0.5, 1/2+1/2*erf(1/2), 1]; 76 %! y = [0, 0, 0.5, 1/2+1/2*erf((1/sqrt(2))*(1/sqrt(2))), 1];
77 %!assert (logncdf (x, zeros (1,5), sqrt(2)*ones (1,5)), y) 77 %!assert (logncdf (x, zeros (1,5), sqrt(2)*ones (1,5)), y)
78 %!assert (logncdf (x, 0, sqrt(2)*ones (1,5)), y) 78 %!assert (logncdf (x, 0, sqrt(2)*ones (1,5)), y)
79 %!assert (logncdf (x, zeros (1,5), sqrt(2)), y) 79 %!assert (logncdf (x, zeros (1,5), sqrt(2)), y)
80 %!assert (logncdf (x, [0 1 NaN 0 1], sqrt(2)), [0 0 NaN y(4:5)]) 80 %!assert (logncdf (x, [0 1 NaN 0 1], sqrt(2)), [0 0 NaN y(4:5)])
81 %!assert (logncdf (x, 0, sqrt(2)*[0 NaN Inf 1 1]), [NaN NaN NaN y(4:5)]) 81 %!assert (logncdf (x, 0, sqrt(2)*[0 NaN Inf 1 1]), [NaN NaN NaN y(4:5)])