how can i read data given from a txt file and plot graph

5 views (last 30 days)
How to read the data and plot graph from the data given.

Answers (2)

Erivelton Gualter
Erivelton Gualter on 16 May 2019
Edited: Erivelton Gualter on 16 May 2019
You may check this other anser related to import data:
https://www.mathworks.com/matlabcentral/answers/460098-import-text-data-as-a-numeric-matrix-with-specific-delimiters
Also, I am attaching a code you might use:
%% Initialize variables.
filename = 'sound.txt';
delimiter = '\t';
startRow = 2;
%% Format for each line of text:
% For more information, see the TEXTSCAN documentation.
formatSpec = '%*s%f%f%f%f%f%f%f%f%[^\n\r]';
%% Open the text file.
fileID = fopen(filename,'r');
%% Read columns of data according to the format.
dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'TextType', 'string', 'HeaderLines' ,startRow-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');
%% Close the text file.
fclose(fileID);
%% Create output variable
sound = [dataArray{1:end-1}];
%% Clear temporary variables
clearvars filename delimiter startRow formatSpec fileID dataArray ans;
[X,Y] = meshgrid(-10:5:25, -15:5:100);
surf(X,Y,sound)
xlabel('X');
ylabel('Y');
zlabel('Sound');
  2 Comments
seelan kumar
seelan kumar on 17 May 2019
is there any other simpler coding that you can send me??Because i feel like ur coding is too long and its not in my syllabus.Tq
Erivelton Gualter
Erivelton Gualter on 17 May 2019
We can simpligy this as in the following.
startRow = 2;
fileID = fopen('sound.txt','r');
dataArray = textscan(fileID, '%*s%f%f%f%f%f%f%f%f%[^\n\r]', 'Delimiter', '\t', 'TextType', 'string', 'HeaderLines' ,1, 'ReturnOnError', false, 'EndOfLine', '\r\n');
fclose(fileID);
sound = [dataArray{1:end-1}];
[X,Y] = meshgrid(-10:5:25, -15:5:100);
surf(X,Y,sound)

Sign in to comment.


Star Strider
Star Strider on 16 May 2019
Edited: Star Strider on 17 May 2019
If you have R2019a, use the readmatrix (link) function.
You are supposed to use the contour function for the plot.
EDIT —
D = readmatrix('sound.txt');
A = D(2:end,2:end);
X = D(2:end,1);
Y = D(1,2:end);
figure
contourf(X',Y,A', 'ShowText','on')
grid on
xlabel('X')
ylabel('Y')
colorbar
how can i read data given from a txt file and plot graph - 2019 05 17.png

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!