% % Plots the various test functions found on Epage 250 of the book % Practical Genetic Algorithms % by Haupt & Haupt. % switch funnum case 1, x = linspace( -20, +20 ); f = testfunction(x,funnum); figure; plot( x, f, '-x' ); grid on; case 2, x = linspace( -20, +20 ); f = testfunction(x,funnum); figure; plot( x, f, '-x' ); grid on; case 3, N=100; xs = linspace(-5,5,N); ys = linspace(-5,5,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 4, N=100; xs = linspace(-3,3,N); ys = linspace(-3,3,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 5, N=100; xs = linspace(-10,10,N); ys = linspace(-10,10,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 6, x = linspace( -10, +10 ); f = testfunction(x,funnum); figure; plot( x, f, '-x' ); grid on; case 7, N=100; xs = linspace(0,10,N); ys = linspace(0,10,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); xlabel('x'); ylabel('y'); zlabel('f(x)'); case 8, N=100; xs = linspace(0,10,N); ys = linspace(0,10,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 9, N=100; xs = linspace(-2,2,N); ys = linspace(-2,2,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 10, N=100; xs = linspace(-4,4,N); ys = linspace(-4,4,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 11, N=100; xs = linspace(-10,10,N); ys = linspace(-10,10,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 12, N=100; xs = linspace(-5,5,N); ys = linspace(-5,5,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 13, N=100; xs = linspace(-10,10,N); ys = linspace(-10,10,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 14, N=100; xs = linspace(-5,5,N); ys = linspace(-5,5,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 15, N=100; xs = linspace(-5,5,N); ys = linspace(-5,5,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); case 16, N=100; xs = linspace(-20,20,N); ys = linspace(-20,20,N); [X,Y] = meshgrid( xs, ys ); x = [ X(:), Y(:) ]; f = testfunction(x,funnum); f = reshape( f, [N,N] ); figure; mesh( xs, ys, f ); otherwise error( 'unknown test function' ); end