function clenshaw_curtis_test025 ( ) %% TEST025 tests CC_LEVELS_MINMAX. % % Licensing: % % This code is distributed under the GNU LGPL license. % % Modified: % % 13 March 2007 % % Author: % % John Burkardt % dim_num = 2; test_num = 3; level_max_test = [ 2, 3, 3 ]; level_min_test = [ 2, 0, 3 ]; fprintf ( 1, '\n' ); fprintf ( 1, 'TEST025:\n' ); fprintf ( 1, ' CC_LEVELS_MINMAX returns all Clenshaw Curtis grids\n' ); fprintf ( 1, ' whose level value satisfies\n' ); fprintf ( 1, ' LEVEL_MIN <= LEVEL <= LEVEL_MAX.\n' ); fprintf ( 1, ' Here, LEVEL is the sum of the levels of the 1D rules,\n' ); fprintf ( 1, ' and the order of the rule is 2**LEVEL + 1.\n' ); for test = 1 : test_num level_min = level_min_test(test); level_max = level_max_test(test); fprintf ( 1, '\n' ); fprintf ( 1, ' LEVEL_MIN = %d\n', level_min ); fprintf ( 1, ' LEVEL_MAX = %d\n', level_max ); fprintf ( 1, '\n' ); fprintf ( 1, ' Spatial dimension of grids = %d\n', dim_num ); [ grid_num, point_num ] = cc_levels_minmax_size ( dim_num, level_min, ... level_max ); fprintf ( 1, '\n' ); fprintf ( 1, ' Number of grids = %d\n', grid_num ); fprintf ( 1, ' Number of points in the grids = %d\n', point_num ); % % Compute the orders and points. % [ grid_level, grid_order, grid_point ] = cc_levels_minmax ( dim_num, ... level_min, level_max, grid_num, point_num ); % % Now we're done. Print the merged grid data. % fprintf ( 1, '\n' ); fprintf ( 1, ... ' Grid Level Grid Levels Grid orders:\n' ); fprintf ( 1, ... ' ---- ----- ------------ ------------\n' ); fprintf ( 1, '\n' ); for j = 1 : grid_num level = sum ( grid_level(1:dim_num,j) ); fprintf ( 1, ' %8d %8d', j, level ); for dim = 1 : dim_num fprintf ( 1, ' %8d', grid_level(dim,j) ); end for dim = 1 : dim_num fprintf ( 1, ' %8d', grid_order(dim,j) ); end fprintf ( 1, '\n' ); end fprintf ( 1, '\n' ); fprintf ( 1, ' Grid points:\n' ); fprintf ( 1, '\n' ); for j = 1 : point_num fprintf ( 1, ' %8d', j ); for dim = 1 : dim_num fprintf ( 1, ' %12f', grid_point(dim,j) ); end fprintf ( 1, '\n' ); end end return end