LATINIZE
Force a Dataset to be a Latin Hypercube
LATINIZE
is a MATLAB library which
adjusts an M dimensional dataset of N points so that it forms a Latin hypercube.
On output, each row of the table will have the properties that:

the minimum and maximum row values are the same as on input;

the row contains N evenly spaced values between the
minimum and maximum.

in each row, the elements retain their ordering.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages
LATINIZE is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
LATIN_CENTER,
a MATLAB library which
computes Latin Square datasets
by choosing the center of each square.
LATIN_EDGE,
a MATLAB library which
computes Latin Square datasets
by choosing the edge of each square.
LATIN_RANDOM,
a MATLAB library which
computes Latin Square datasets
by choosing a random point of each square.
TABLE,
a data format which
is used to store the input and output files
used by the program.
TABLE_LATINIZE,
a MATLAB program which
allows the name of the data file to be specified on the command line.
Reference:

M D McKay, W J Conover, R J Beckman,
A Comparison of Three Methods for Selecting Values of Input
Variables in the Analysis of Output From a Computer Code,
Technometrics,
Volume 21, pages 239245, 1979.

Yuki Saka, Max Gunzburger, John Burkardt,
Latinized, Improved LHS, and CVT Point Sets in Hypercubes,
International Journal of Numerical Analysis and Modeling,
Volume 4, Number 34, 2007, pages 729743,
Source Code:

file_column_count.m,
counts the number of columns in the first line of a file.

file_name_ext_swap.m,
replaces the current "extension" of a file name.

file_row_count.m,
counts the number of row records in a file.

r8mat_data_read.m,
reads a double precision table dataset from a file.

r8mat_header_read.m,
reads header data from a file.

r8mat_latinize.m,
latinizes a double precision table dataset.

r8mat_transpose_print.m,
prints an R8MAT, tranposed.

r8mat_transpose_print_some.m,
prints some of an R8MAT, tranposed.

r8mat_write.m,
writes an R8MAT to a file.

r8vec_sort_heap_index_a.m,
does an indexed heap ascending sort of an R8VEC.

s_len_trim.m,
returns the length of a string to the last nonblank.

s_word_count.m
counts the number of "words" in a string.

timestamp.m
prints the current YMDHMS date as a time stamp.
Examples and Tests:
CVT_02_00010 is a set of 10 CVT points in 2D:
CVT_03_00007 is a set of 7 CVT points in 3D:
CVT_03_00056 is a set of 56 CVT points in 3D:
CVT_07_00100 is a set of 100 CVT points in 7D:
You can go up one level to
the MATLAB source codes.
Last revised on 01 September 2005.