function clenshaw_curtis_test08 ( ) %% TEST08 tests CLENSHAW_CURTIS_COMPUTE_ND. % % Licensing: % % This code is distributed under the GNU LGPL license. % % Modified: % % 20 March 2007 % % Author: % % John Burkardt % fprintf ( 1, '\n' ); fprintf ( 1, 'TEST08\n' ); fprintf ( 1, ' CLENSHAW_CURTIS_COMPUTE_ND computes\n' ); fprintf ( 1, ' a multidimensional Clenshaw-Curtis quadrature rule\n' ); fprintf ( 1, ' over the hypercube [-1,1]^ND of given\n' ); fprintf ( 1, ' (possibly different) orders in each dimension.\n' ); dim_num = 2; order_1d(1:dim_num) = 5; order_nd = prod ( order_1d(1:dim_num) ); fprintf ( 1, '\n' ); fprintf ( 1, ' In this example, we use the SAME ORDER\n' ); fprintf ( 1, ' in all dimensions.\n' ); fprintf ( 1, '\n' ); fprintf ( 1, ' Spatial dimension DIM_NUM = %d\n', dim_num ); fprintf ( 1, ' 1D orders = ' ); for dim = 1 : dim_num fprintf ( 1, ' %d', order_1d(dim) ); end fprintf ( 1, '\n' ); fprintf ( 1, ' Number of points = %d\n', order_nd ); [ point, weight ] = clenshaw_curtis_compute_nd ( dim_num, order_1d ); fprintf ( 1, '\n' ); fprintf ( 1, ' Weight X(1) X(2)\n' ); fprintf ( 1, ' -------------- -------------- --------------\n' ); fprintf ( 1, '\n' ); for order = 1 : order_nd fprintf ( 1, ' %14f', weight(order) ); for dim = 1 : dim_num fprintf ( 1, ' %14f', point(dim,order) ); end fprintf ( 1, '\n' ); end weight_sum = sum ( weight(1:order_nd) ); fprintf ( 1, '\n' ); fprintf ( 1, ' %14d\n',weight_sum ); order_1d = []; point = []; weight = []; return end