How to Read in Texxt File Matlab
MATLAB - Information Import
Importing information in MATLAB means loading information from an external file. The importdata function allows loading various data files of different formats. It has the following five forms −
| Sr.No. | Part & Description |
|---|---|
| 1 | A = importdata(filename) Loads data into array A from the file denoted by filename. |
| 2 | A = importdata('-pastespecial') Loads data from the system clipboard rather than from a file. |
| 3 | A = importdata(___, delimiterIn) Interprets delimiterIn as the column separator in ASCII file, filename, or the clipboard data. Yous can use delimiterIn with whatever of the input arguments in the above syntaxes. |
| 4 | A = importdata(___, delimiterIn, headerlinesIn) Loads data from ASCII file, filename, or the clipboard, reading numeric information starting from line headerlinesIn+1. |
| 5 | [A, delimiterOut, headerlinesOut] = importdata(___) Returns the detected delimiter character for the input ASCII file in delimiterOut and the detected number of header lines in headerlinesOut, using whatsoever of the input arguments in the previous syntaxes. |
By default, Octave does non have back up for importdata() function, so yous will have to search and install this package to make post-obit examples work with your Octave installation.
Case one
Let u.s.a. load and display an image file. Create a script file and type the following lawmaking in it −
filename = 'smile.jpg'; A = importdata(filename); image(A);
When yous run the file, MATLAB displays the epitome file. However, you must store it in the current directory.
Example ii
In this case, nosotros import a text file and specify Delimiter and Column Header. Permit united states of america create a infinite-delimited ASCII file with column headers, named weeklydata.txt.
Our text file weeklydata.txt looks like this −
Dominicus Mon TuesDay Wednesday Th FriDay Sat 95.01 76.21 61.54 40.57 55.79 lxx.28 81.53 73.xi 45.65 79.nineteen 93.55 75.29 69.87 74.68 lx.68 41.85 92.eighteen 91.69 81.32 90.38 74.51 48.threescore 82.xiv 73.82 41.03 0.99 67.22 93.18 89.xiii 44.47 57.63 89.36 13.89 19.88 46.sixty
Create a script file and type the following code in it −
filename = 'weeklydata.txt'; delimiterIn = ' '; headerlinesIn = ane; A = importdata(filename,delimiterIn,headerlinesIn); % View data for k = [i:vii] disp(A.colheaders{1, k}) disp(A.data(:, grand)) disp(' ') finish When yous run the file, it displays the following result −
SunDay 95.0100 73.1100 threescore.6800 48.6000 89.1300 Monday 76.2100 45.6500 41.8500 82.1400 44.4700 TuesDay 61.5400 79.1900 92.1800 73.8200 57.6300 Wednesday twoscore.5700 93.5500 91.6900 41.0300 89.3600 ThursDay 55.7900 75.2900 81.3200 0.9900 13.8900 FriDay 70.2800 69.8700 90.3800 67.2200 19.8800 Saturday 81.5300 74.6800 74.5100 93.1800 46.6000
Example iii
In this instance, let united states of america import data from clipboard.
Copy the post-obit lines to the clipboard −
Mathematics is simple
Create a script file and type the following lawmaking −
A = importdata('-pastespecial') When you run the file, it displays the following consequence −
A = 'Mathematics is uncomplicated'
Low-Level File I/O
The importdata office is a loftier-level function. The depression-level file I/O functions in MATLAB let the virtually command over reading or writing data to a file. However, these functions demand more than detailed information about your file to work efficiently.
MATLAB provides the following functions for read and write operations at the byte or character level −
| Office | Clarification |
|---|---|
| fclose | Close one or all open files |
| feof | Test for end-of-file |
| ferror | Information about file I/O errors |
| fgetl | Read line from file, removing newline characters |
| fgets | Read line from file, keeping newline characters |
| fopen | Open file, or obtain information about open up files |
| fprintf | Write data to text file |
| fread | Read data from binary file |
| frewind | Move file position indicator to offset of open file |
| fscanf | Read data from text file |
| fseek | Move to specified position in file |
| ftell | Position in open file |
| fwrite | Write data to binary file |
Import Text Information Files with Low-Level I/O
MATLAB provides the following functions for depression-level import of text information files −
-
The fscanf role reads formatted data in a text or ASCII file.
-
The fgetl and fgets functions read one line of a file at a time, where a newline character separates each line.
-
The fread function reads a stream of data at the byte or bit level.
Example
We have a text data file 'myfile.txt' saved in our working directory. The file stores rainfall data for iii months; June, July and August for the twelvemonth 2012.
The data in myfile.txt contains repeated sets of time, month and rainfall measurements at 5 places. The header data stores the number of months Thou; so nosotros have Chiliad sets of measurements.
The file looks like this −
Rainfall Data Months: June, July, Baronial K = 3 12:00:00 June-2012 17.21 28.52 39.78 xvi.55 23.67 19.15 0.35 17.57 NaN 12.01 17.92 28.49 17.forty 17.06 11.09 ix.59 nine.33 NaN 0.31 0.23 10.46 13.17 NaN 14.89 19.33 20.97 19.50 17.65 14.45 xiv.00 18.23 x.34 17.95 sixteen.46 nineteen.34 09:10:02 July-2012 12.76 sixteen.94 14.38 11.86 16.89 20.46 23.17 NaN 24.89 19.33 thirty.97 49.50 47.65 24.45 34.00 18.23 30.34 27.95 16.46 xix.34 xxx.46 33.17 NaN 34.89 29.33 30.97 49.50 47.65 24.45 34.00 28.67 thirty.34 27.95 36.46 29.34 15:03:40 August-2012 17.09 16.55 nineteen.59 17.25 19.22 17.54 xi.45 xiii.48 22.55 24.01 NaN 21.19 25.85 25.05 27.21 26.79 24.98 12.23 xvi.99 18.67 17.54 xi.45 thirteen.48 22.55 24.01 NaN 21.xix 25.85 25.05 27.21 26.79 24.98 12.23 sixteen.99 18.67
We will import data from this file and display this data. Take the following steps −
-
Open the file with fopen role and become the file identifier.
-
Describe the information in the file with format specifiers, such every bit '%s' for a string, '%d' for an integer, or '%f' for a floating-bespeak number.
-
To skip literal characters in the file, include them in the format description. To skip a data field, apply an asterisk ('*') in the specifier.
For example, to read the headers and return the unmarried value for K, we write −
One thousand = fscanf(fid, '%*s %*s\n%*s %*due south %*south %*s\nM=%d\n\n', 1);
-
By default, fscanf reads data according to our format clarification until it does not find any match for the data, or information technology reaches the cease of the file. Hither we will apply for loop for reading three sets of data and each time, it volition read 7 rows and v columns.
-
We will create a structure named mydata in the workspace to shop information read from the file. This construction has three fields - time, month, and raindata array.
Create a script file and type the following code in it −
filename = '/data/myfile.txt'; rows = 7; cols = 5; % open up the file fid = fopen(filename); % read the file headers, find Yard (number of months) G = fscanf(fid, '%*south %*due south\due north%*southward %*s %*southward %*s\nM=%d\n\n', 1); % read each set of measurements for due north = 1:One thousand mydata(n).time = fscanf(fid, '%due south', 1); mydata(due north).month = fscanf(fid, '%s', 1); % fscanf fills the array in column order, % so transpose the results mydata(n).raindata = ... fscanf(fid, '%f', [rows, cols]); end for n = 1:M disp(mydata(n).time), disp(mydata(n).calendar month) disp(mydata(n).raindata) end % close the file fclose(fid);
When you run the file, it displays the following event −
12:00:00 June-2012 17.2100 17.5700 11.0900 xiii.1700 xiv.4500 28.5200 NaN 9.5900 NaN 14.0000 39.7800 12.0100 9.3300 fourteen.8900 18.2300 sixteen.5500 17.9200 NaN nineteen.3300 x.3400 23.6700 28.4900 0.3100 20.9700 17.9500 19.1500 17.4000 0.2300 xix.5000 16.4600 0.3500 17.0600 10.4600 17.6500 19.3400 09:10:02 July-2012 12.7600 NaN 34.0000 33.1700 24.4500 sixteen.9400 24.8900 18.2300 NaN 34.0000 14.3800 nineteen.3300 thirty.3400 34.8900 28.6700 xi.8600 thirty.9700 27.9500 29.3300 30.3400 xvi.8900 49.5000 16.4600 30.9700 27.9500 20.4600 47.6500 19.3400 49.5000 36.4600 23.1700 24.4500 xxx.4600 47.6500 29.3400 fifteen:03:40 August-2012 17.0900 thirteen.4800 27.2100 eleven.4500 25.0500 16.5500 22.5500 26.7900 thirteen.4800 27.2100 19.5900 24.0100 24.9800 22.5500 26.7900 17.2500 NaN 12.2300 24.0100 24.9800 19.2200 21.1900 16.9900 NaN 12.2300 17.5400 25.8500 18.6700 21.1900 16.9900 11.4500 25.0500 17.5400 25.8500 xviii.6700
Useful Video Courses
Video
Video
Video
Video
Video
Video
Source: https://www.tutorialspoint.com/matlab/matlab_data_import.htm
Post a Comment for "How to Read in Texxt File Matlab"