%% TEST04 demonstrates the use of NELMIN on QUARTIC. % % Modified: % % 28 February 2008 % % Author: % % John Burkardt % clear n = 10; fprintf ( 1, '\n' ); fprintf ( 1, 'TEST04\n' ); fprintf ( 1, ' Apply NELMIN to the QUARTIC function.\n' ); for i = 1 : n start(i) = 1.0; end reqmin = 1.0E-08; for i = 1 : n step(i) = 1.0; end konvge = 10; kcount = 500; fprintf ( 1, '\n' ); fprintf ( 1,' Starting point X:\n' ); fprintf ( 1, '\n' ); for i = 1 : n fprintf ( 1, ' %f\n', start(i) ); end ynewlo = quartic ( start ); fprintf ( 1, '\n' ); fprintf ( 1, ' F(X) = %f\n', ynewlo ); [ xmin, ynewlo, icount, numres, ifault ] = nelmin ( @quartic, n, start, ... reqmin, step, konvge, kcount ); fprintf ( 1, '\n' ); fprintf ( 1, ' Return code IFAULT = %d\n', ifault ); fprintf ( 1, '\n' ); fprintf ( 1, ' Estimate of minimizing value X*:\n' ); fprintf ( 1, '\n' ); for i = 1 : n fprintf ( 1, ' %f\n', xmin(i) ); end fprintf ( 1, '\n' ); fprintf ( 1, ' F(X*) = %f\n', ynewlo ); fprintf ( 1, '\n' ); fprintf ( 1, ' Number of iterations = %d\n', icount ); fprintf ( 1, ' Number of restarts = %d\n', numres );