How to Read Data File in Matlab
                  Saving and Loading MAT-Files                          
      
This section explains how to save the variables in your MATLAB session to a binary file called a MAT-file, and how to load them back into your MATLAB workspace. It covers the following:
- Exporting Data to MAT-Files
 - Importing Data from MAT-Files
 
MAT-files are double-precision, binary, MATLAB format files. They tin exist created on one machine and after read by MATLAB on another machine with a dissimilar floating-signal format, retaining as much accuracy and range as the different formats allow. They tin can too exist manipulated by other programs external to MATLAB.
                  Exporting Data to MAT-Files                          
      
This section covers
- Using the relieve Function
 - Saving Structures
 - Appending to an Existing File
 - Information Compression
 - Unicode Character Encoding
 - Optional Output Formats
 - Storage Requirements
 - Saving from External Programs
 
                  Using the save Function                
      
To export workspace variables to a binary or ASCII file, use the        save        function. You can relieve all variables from the workspace in a single operation (if you omit the filename, MATLAB uses the name        matlab.mat):      
-           
save
filename 
or salvage merely those variables that y'all specify:
-           
save
filenamevar1var2...varN 
Apply the wildcard character (*) in the variable name to save those variables that friction match a specific pattern. For example, the following command saves all variables that start with        str.
-           
save strinfo str*
 
Use        whos        -file        to examine what has been written to the MAT-file:
-           
whos -file strinfo Name Size Bytes Class str2 1x15 xxx char array strarray 2x5 678 cell array strlen 1x1 viii double array
 
                  Saving Structures                
      
When saving a MATLAB structure, you lot have the option of saving the entire structure, saving each structure field as an private variable in the MAT-file, or saving specific fields as individual variables.
For structure        S,
-           
S.a = 12.seven; Southward.b = {'abc', [4 5; 6 7]}; S.c = 'Hullo!'; 
Relieve the unabridged structure to        newstruct.mat        with the usual syntax:
-           
salvage newstruct.mat S; whos -file newstruct Name Size Bytes Form S 1x1 550 struct array
 
Save the fields individually with the        -struct        option:
-           
relieve newstruct.mat -struct S; whos -file newstruct Name Size Bytes Class a 1x1 8 double assortment b 1x2 158 jail cell array c 1x6 12 char assortment
 
Or save only selected fields using        -struct        and specifying each field proper noun:
-           
relieve newstruct.mat -struct Due south a c; whos -file newstruct Proper noun Size Bytes Class a 1x1 8 double array c 1x6 12 char array
 
                  Appending to an Existing File                
      
You can add new variables to those already stored in an existing MAT-file by using        salve -append. When you append to a MAT-file, MATLAB first looks in the designated file for each variable proper noun specified in the statement list, or for all variables if no specific variable names are specified. Based on that information, MATLAB does both of the post-obit:
- For each variable that already exists in the MAT-file, MATLAB overwrites its saved value with the new value taken from the workspace.
 - For each variable not found in the MAT-file, MATLAB adds that variable to the file and stores its value from the workspace.
 
          Note             Saving with the          -append          option does not suspend additional elements to whatsoever arrays that are already saved in the MAT-file.        
                  Data Compression                
      
MATLAB compresses the information that y'all save to a MAT-file. Information pinch tin save yous a significant amount of storage space when you are working with large files or working over a network.
Information compression is optional, however, and yous can disable it either for an private        relieve        operation, or for all of your MATLAB sessions. Use the        -v6        pick with the        save        part to plow off pinch on a per-control basis:
-           
salvage filename -v6
 
To disable data compression for all of your MATLAB sessions, open up the Preferences dialog, select Full general and then MAT-Files, and click Save uncompressed. Meet Full general Preferences for MATLAB in the Desktop Tools and Evolution Environs documentation for more than information.
Notation You lot cannot read a compressed MAT-file with MATLAB Version 6 or 6.v. To write a MAT-file that yous will exist able to read with one of these versions, save to the file with data compression disabled.
Information returned by the command        whos -file        is contained of whether the variables in that file are compressed or not. The byte counts returned by this command stand for the number of bytes information occupies in the MATLAB workspace, and non in the file the data was saved to.
        Evaluating When to Compress.        You should consider both data prepare size and the type of data being saved when deciding whether or not to shrink the information you salve to a file. The benefits of data compression are greater when saving big information sets (over 3MB), and are unremarkably negligible with smaller data sets. Data that has repeating patterns or more consequent values compresses better than random data. Compressing data that has a random pattern is not recommended equally it slows down the performance of        save        and        load        significantly, and offers little benefit in render.
In general, data compression and decompression slows down all        save        and some        load        operations to some extent. In nearly cases, however, the resulting reduction in file size is worth the boosted time spent compressing or decompressing. Because loading is typically done more frequently than saving,        load        is considered to be the most disquisitional of the two operations. Up to a certain threshold (relative to the size of the uncompressed MAT-file), loading a compressed MAT-File is slightly slower than loading an uncompressed file containing the aforementioned data. Beyond that threshold, however, loading the compressed file is        faster.
For case, say that yous accept a block of data that takes up 100 MB in retentiveness, and this data has been saved to both a 10 MB compressed file and a 100 MB uncompressed file. When you lot load each of these files back into the MATLAB workspace, the first 10 MB of data takes the same amount of time to load for each file. Loading the remaining ninety MB from the uncompressed file will take 9 times as long every bit the offset 10 MB, while all that remains to be washed with the compressed file is to decompress the data, and this takes a relatively short amount of time.
The loading size threshold is lower for network files, and also varies depending on the type of reckoner being used. Network users loading compressed MAT-files generally see faster load times than when loading uncompressed files, and at smaller information sizes than users loading the same files locally.
          Notation             Compression and decompression during          salvage          and          load          is done transparently without the utilize of temporary files on disk. This is of significance to large dataset users in particular.        
                  Unicode Character Encoding                
      
MATLAB saves character data to a MAT-file using Unicode character data encoding. As with information compression, Unicode encoding is optional. If you disable it, MATLAB writes the MAT-file using the default character set for your arrangement. To disable Unicode character encoding on a per-command basis, use the        -v6        pick with the        salvage        part:
-           
save filename -v6
 
To disable Unicode encoding for all of your MATLAB sessions, open the Preferences dialog, select Full general and and then MAT-Files, and click Local Character Set. See Full general Preferences for MATLAB in the Desktop Tools and Development Surround documentation for more information. When writing character data using Unicode encoding (the default), MATLAB checks if the data is 7-flake ASCII. If it is, MATLAB writes the 7-bit ASCII graphic symbol data to the MAT-file using viii $.25 per character (UTF-8 format), thus minimizing the size of the resulting file. Whatsoever graphic symbol data that is non 7-bit ASCII is written in xvi-flake Unicode course (UTF-16). This algorithm operates on a per-string ground.
Note Y'all cannot read a Unicode encoded MAT-file with MATLAB Version 6 or six.5. To write a MAT-file that you will be able to read with one of these versions, save to the file with Unicode character encoding disabled.
For more information on how MATLAB saves specific ASCII information formats, and on preventing loss or corruption of character data, run across Writing Grapheme Data in the MATLAB External Interfaces documentation.
                  Optional Output Formats                
      
You lot can choose from whatsoever of the following formats for your output file. If yous do not specify a format, MATLAB uses the binary MAT-file format.
|                                   Output File Format                                 |                               Command                 |             
| Binary MAT-file (default) |                               salvage                                  filename                                 |             
| eight-digit ASCII |                               save                                  filename                                -ascii                 |             
| 8-digit ASCII, tab delimited |                               save                                  filename                                -ascii                -tabs                 |             
| 16-digit ASCII |                               save                                  filename                                -ascii                -double                 |             
| 16-digit ASCII, tab delimited |                               save                                  filename                                -ascii                -double                -tabs                 |             
| MATLAB Version four compatible |                               save                                  filename                                -v4                 |             
Saving in ASCII Format. When saving in any of the ASCII formats, consider the following:
- Each variable to be saved must be either a ii-dimensional double array or a 2-dimensional character array. Saving a circuitous double array causes the imaginary part of the information to exist lost, equally MATLAB cannot load nonnumeric data (
'i'). - To read the file with the MATLAB          
loadfunction, make sure all the variables have the same number of columns. If you lot are using a plan other than MATLAB to read the saved data, this restriction can be relaxed. - Each MATLAB graphic symbol in a grapheme array is converted to a floating-indicate number equal to its internal ASCII code and written out as a floating-indicate number string. At that place is no information in the saved file that indicates whether the value was originally a number or a grapheme.
 - The values of all variables saved merge into a unmarried variable that takes the proper noun of the ASCII file (minus any extension). Therefore, it is advisable to save only one variable at a time.
 
        Saving in Version iv Format.        With the        -v4        option, you can salve only those data constructs that are uniform with MATLAB Version 4. Therefore, you cannot save structures, jail cell arrays, multidimensional arrays, or objects. Variable names cannot exceed 19 characters in length. In improver, you must use filenames that are supported by MATLAB Version 4.
                  Storage Requirements                
      
The binary formats used by        salve        depend on the size and type of each array. Arrays with any noninteger entries and arrays with ten,000 or fewer elements are saved in floating-signal formats requiring 8 bytes per existent element. Arrays with all integer entries and more than than x,000 elements are saved in the formats shown, requiring fewer bytes per element.                      
                                                                         Element Range                                   
                                  Bytes per Element                                 
                                               0 to 255                 
                1               
                                               0 to 65535                 
                2               
                                               -32767 to 32767                 
                2               
                                               -231                  to 231-1                 
                4               
                                                       Other                 
                viii               
                
                  Saving from External Programs                
      
The MATLAB External Interfaces documentation provides details on reading and writing MAT-files from external C or Fortran programs. Information technology is important to use recommended admission methods, rather than rely upon the specific MAT-file format, which is likely to change in the future.
|                  |               Supported File Formats | Importing Information from MAT-Files |                  |             
© 1994-2005 The MathWorks, Inc.
pullenwhippyraton1972.blogspot.com
Source: http://matlab.izmiran.ru/help/techdoc/matlab_prog/ch10_in7.html
0 Response to "How to Read Data File in Matlab"
Post a Comment