table_io
    
    
    
      table_io,
      a MATLAB code which 
      reads or writes a TABLE file.
    
    
      A TABLE file is a simple format for storing a double-indexed
      array of data.  We regard this is a situation involving N
      points in M dimensions, with M relatively small
      (often just 2 or 3, but possibly 10 or 20) while N can
      be "enormous" (10, 100, 1,000 or 10,000).
    
    
      To keep things simple, then, the data is written to an ASCII
      file, with optional comment lines (which must start with the
      '#' character) and blank lines (which are ignored).  The point
      data is stored by writing the coordinates of each point on
      a separate line.  No information about M or N is 
      explicitly included in the file.
      It is up to the I/O program to determine this.
    
    
      TABLE_IO supplies routines by which a TABLE file can
      easily be written or read.  A typical write operation simply
      calls routine R8MAT_WRITE.  A typical read operation
      will probably first want to call R8MAT_HEADER_READ
      to determine the values of M and N, and then
      allocate space for the table, and then call R8MAT_DATA_READ 
      to read the data. 
    
    
      Licensing:
    
 
    
      The information on this web page is distributed under the MIT license.
    
    
      Languages:
    
    
      table_io is available in
      a C version and
      a C++ version and
      a Fortan90 version and
      a MATLAB version and
      an Octave version and
      a Python version.
    
    
      Related Data and Programs:
    
    
      
      table_io_test
    
    
      
      table,
      a format which
      is used for the files input or output by the TABLE_IO library.
    
    
      Source Code:
    
    
      
        - 
          ch_cap.m, 
          returns the uppercase version of a character.
        
 
        - 
          file_column_count.m, 
          counts the number of columns in the first line of a file.
        
 
        - 
          file_row_count.m, 
          counts the number of row records in a file.
        
 
        - 
          i4_log_10.m, 
          returns the integer part of the logarithm, base 10, of an integer.
        
 
        - 
          i4mat_border_add.m, 
          adds a "border" to an I4MAT.
        
 
        - 
          i4mat_border_cut.m, 
          cuts the "border" of an I4MAT.
        
 
        - 
          i4mat_data_read.m, 
          reads a table from an I4MAT file.
        
 
        - 
          i4mat_header_read.m, 
          reads a header from an I4MAT file.
        
 
        - 
          i4mat_indicator.m, 
          sets up an indicator I4MAT.
        
 
        - 
          i4mat_print.m, 
          prints an I4MAT.
        
 
        - 
          i4mat_print_some.m, 
          prints some of an I4MAT.
        
 
        - 
          i4mat_read.m, 
          reads an I4MAT file.
        
 
        - 
          i4mat_transpose_write.m,
          writes the transpose of an I4MAT to a file.
        
 
        - 
          i4mat_write.m, 
          writes an I4MAT to a file.
        
 
        - 
          i4vec_data_read.m, 
          reads the data from an I4VEC file.
        
 
        - 
          i4vec_write.m, 
          writes an I4VEC to a file.
        
 
        - 
          l4vec_data_read.m, 
          reads a table from an L4VEC file.
        
 
        - 
          l4vec_header_read.m, 
          reads a header from an L4VEC file.
        
 
        - 
          l4vec_write.m, 
          writes an L4VEC (logical vector) to a file.
        
 
        - 
          r8mat_border_add.m, 
          adds a "border" to an R8MAT.
        
 
        - 
          r8mat_border_cut.m, 
          cuts the "border" of an R8MAT.
        
 
        - 
          r8mat_data_read.m, 
          reads the data from an R8MAT file.
        
 
        - 
          r8mat_header_read.m, 
          reads the header from an R8MAT file.
        
 
        - 
          r8mat_indicator.m, 
          sets up an indicator R8MAT.
        
 
        - 
          r8mat_print.m, 
          prints an R8MAT.
        
 
        - 
          r8mat_print_some.m, 
          prints some of an R8MAT.
        
 
        - 
          r8mat_read.m, 
          reads an R8MAT from a text file.
        
 
        - 
          r8mat_read_bin.m, 
          reads an R8MAT from a binary file.
        
 
        - 
          r8mat_transpose_print.m, 
          prints the transpose of an R8MAT.
        
 
        - 
          
          r8mat_transpose_print_some.m, 
          prints the transpose of some of an R8MAT.
        
 
        - 
          
          r8mat_uniform_01.m, 
          fills an R8MAT with pseudorandom numbers.
        
 
        - 
          
          r8mat_uniform_01_test.m
        
 
        - 
          r8mat_write.m, 
          writes an R8MAT to a text file.
        
 
        - 
          r8mat_write_bin.m, 
          writes an R8MAT to a binary file.
        
 
        - 
          r8vec_data_read.m, 
          reads the data from an R8VEC file.
        
 
        - 
          r8vec_header_read.m, 
          reads the header from an R8VEC file.
        
 
        - 
          r8vec_print.m, 
          prints an R8VEC.
        
 
        - 
          r8vec_uniform_01.m, 
          returns a random R8VEC in [0,1].
        
 
        - 
          r8vec_write.m, 
          writes an R8VEC to a file.
        
 
        - 
          r8vec2_write.m, 
          writes an R8VEC2 to a file.
        
 
        - 
          s_len_trim.m, 
          returns the length of a character string to the last nonblank.
        
 
        - 
          s_to_l.m, 
          extracts a logical value from a string.
        
 
        - 
          s_word_count.m, 
          counts the number of words in a string.
        
 
      
    
    
    
      Last revised on 18 February 2019.