X-Git-Url: http://gitweb.michael.orlitzky.com/?p=octave.git;a=blobdiff_plain;f=tests%2Fhimmelblau_gradient_tests.m;fp=tests%2Fhimmelblau_gradient_tests.m;h=e76562dc187c6d1778c4898d80e7c01321d00786;hp=0000000000000000000000000000000000000000;hb=4cf95f960c61165130795e7b5197cfe6e2829692;hpb=336f1181f7f065a07ee58bd772a875f7f4b39247 diff --git a/tests/himmelblau_gradient_tests.m b/tests/himmelblau_gradient_tests.m new file mode 100644 index 0000000..e76562d --- /dev/null +++ b/tests/himmelblau_gradient_tests.m @@ -0,0 +1,26 @@ +## The gradient should be zero at the optimal points. + +unit_test_equals("himmelblau_gradient(3,2) == 0", ... + 0, ... + himmelblau_gradient(3,2)); + +x1 = -2.805118086952745; +x2 = 3.131312518250573; +msg = sprintf("himmelblau_gradient(%f, %f) == 0", x1, x2); +unit_test_equals(msg, ... + true, ... + norm(himmelblau_gradient(x1, x2)) < 1e-13); + +x1 = -3.779310253377747; +x2 = -3.283185991286170; +msg = sprintf("himmelblau_gradient(%f, %f) == 0", x1, x2); +unit_test_equals(msg, ... + true, ... + norm(himmelblau_gradient(x1, x2)) < 1e-13); + +x1 = 3.584428340330492; +x2 = -1.848126526964404; +msg = sprintf("himmelblau_gradient(%f, %f) == 0", x1, x2); +unit_test_equals(msg, ... + true, ... + norm(himmelblau_gradient(x1, x2)) < 1e-13);