Read matrix stored in file
mtx = readmtx(fname,nrows,ncols,precision)
mtx = readmtx(fname,nrows,ncols,precision,readrows,readcols)
mtx = readmtx(fname,nrows,ncols,precision,...
readrows,readcols,mformat)
mtx = readmtx(fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes)
mtx = readmtx(fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes)
mtx = readmtx(fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes,nRowTrailBytes)
mtx = readmtx(fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes,...
nRowTrailBytes,nFileTrailBytes)
mtx = readmtx(fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes,...
nRowTrailBytes,nFileTrailBytes,recordlen)
mtx = readmtx( reads
a matrix stored in a file. The file contains only a matrix of numbers
with the dimensions fname,nrows,ncols,precision)nrows by ncols stored
with the specified precision. Recognized precision values
are described below.
mtx = readmtx( reads
a subset of the matrix. fname,nrows,ncols,precision,readrows,readcols)readrows and readcols specify
which rows and columns are to be read. They can be vectors containing
the row or column numbers, or two-element vectors of the form [start
end], which are expanded using the colon operator to start:end.
To read just two rows or columns, without expansion by the colon operator,
provide the indices as a column matrix.
mtx = readmtx( specifies
the machine format used to write the file. fname,nrows,ncols,precision,...
readrows,readcols,mformat)mformat can
be any recognized by fopen. This option is used
to automatically swap bytes for files written on platforms with a
different byte ordering.
mtx = readmtx( skips
the file header, whose length is specified in bytes.fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes)
mtx = readmtx( also
skips a header that precedes every row of the matrix. The length of
the header is specified in bytes.fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes)
mtx = readmtx( also
skips a trailer that follows every row of the matrix. The length of
the trailer is specified in bytes.fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes,nRowTrailBytes)
mtx = readmtx( accounts for the length
of data following the matrix. The sizes of the components of the matrix
are used to compute an expected file size, which is compared to the
actual file size.fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes,...
nRowTrailBytes,nFileTrailBytes)
mtx = readmtx( overrides the
record length calculated from the precision and number of columns,
and instead uses the record length given in bytes. This is used for
formatted data with extra spaces or line breaks in the matrix.fname,nrows,ncols,precision,...
readrows,readcols,mformat,nheadbytes,nRowHeadBytes,...
nRowTrailBytes,nFileTrailBytes,recordlen)
Map data is often provided as binary or ASCII files with a fixed format. Writing your own functions to read the data into the MATLAB® workspace can be difficult and time-consuming, particularly for binary files. This function allows you to read the data by simply specifying the format of the file.
Write and read a binary matrix file:
fid = fopen('binmat','w');
fwrite(fid,1:100,'int16');
fclose(fid);
mtx = readmtx('binmat',10,10,'int16')
mtx =
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
mtx = readmtx('binmat',10,10,'int16',[2 5],3:2:9)
mtx =
13 15 17 19
23 25 27 29
33 35 37 39
43 45 47 49Every row of the matrix must have the same number of elements.
This function reads files that have a general format consisting of a header, a matrix, and a trailer. Each row of the matrix can have a certain number of bytes of extraneous information preceding or following the matrix data.
Both binary and formatted data files can be read. If the file
is binary, the precision argument is a format recognized by fread.
Repetition modifiers such as '40*char' are not supported.
If the file is formatted, precision is a fscanf and sscanf-style
format of the form '%nX', where n is
the number of characters within which the formatted data is found,
and X is the conversion character such as 'g' or 'd'.
Fortran-style double-precision output such as '0.0D00' can
be read using a precision such as '%nD', where n is
the number of characters per element. This is an extension to the
C-style format s accepted by sscanf. Users unfamiliar
with C should note that '%d' is preferred over '%i' for
formatted integers. MATLAB syntax follows C in interpreting '%i' integers
with leading zeros as octal. Formatted files with line endings need
to provide the number of trailing bytes per row, which can be 1 for
platforms with carriage returns or linefeed (Macintosh, UNIX®),
or 2 for platforms with carriage returns and linefeeds
(DOS).
dlmread | readfields | spcread | textread