X-Git-Url: http://gitweb.michael.orlitzky.com/?p=octave.git;a=blobdiff_plain;f=run-tests.m;h=aa285c32e38fb3f70747a75402e57ef6a8515ed2;hp=ef72b10731fecb8f6f324d4b25150153140af948;hb=13bba59d9d3cc9a508deef1e0f6176cfab73fbcd;hpb=62d652799ded51169bda744d8728e1d33582fa5f diff --git a/run-tests.m b/run-tests.m index ef72b10..aa285c3 100755 --- a/run-tests.m +++ b/run-tests.m @@ -13,3 +13,62 @@ unit_test_equals("sin[0, pi] == 0", ... unit_test_equals("sin[0, pi, 2*pi] == 0", ... 0, ... divided_difference(@sin, [0,pi,2*pi])); + +unit_test_equals("zero order divided_difference_coefficients", ... + [1], ... + divided_difference_coefficients([0])); + +unit_test_equals("first order divided_difference_coefficients", ... + [-1, 1] / pi, ... + divided_difference_coefficients([0, pi])); + +unit_test_equals("second order divided_difference_coefficients", ... + [1, -2, 1] / (2*pi^2), ... + divided_difference_coefficients([0, pi, 2*pi])); + + +unit_test_equals("1 is odd", ... + true, ... + odd(1)); + +unit_test_equals("1 is not even", ... + false, ... + even(1)); + +unit_test_equals("2 is not odd", ... + false, ... + odd(2)); + +unit_test_equals("2 is even", ... + true, ... + even(2)); + +expected_A = [1, 0, 0, 0, 0; ... + 16, -32, 16, 0, 0; ... + 0, 16, -32, 16, 0; ... + 0, 0, 16, -32, 16; ... + 0, 0, 0, 0, 1]; +unit_test_equals("Homework #1 problem #1 Poisson matrix is correct", ... + true, ... + expected_A == poisson_matrix(4, 0, 1)); + + +g = @(x) 1 + atan(x); +expected_fp = 2.1323; +tol = 1 / 10^10; +x0 = 2.4; +unit_test_equals("Homework #2 problem #5 fixed point is correct", ... + expected_fp, ... + fixed_point_method(g, tol, x0)); + + +h = 0.5; +g1 = @(u) 1 + h*exp(-u(1)^2)/(1+u(2)^2); +g2 = @(u) 0.5 + h*atan(u(1)^2 + u(2)^2); +my_g = @(u) [g1(u), g2(u)]; +tol = 1 / 10^9; +u0 = [1,1]; +expected_fp = [1.0729, 1.0821]; +unit_test_equals("Homework #3 problem #3i fixed point is correct", ... + expected_fp, ... + fixed_point_method(my_g, tol, u0));