how can i read data given from a txt file and plot graph
5 次查看(过去 30 天)
显示 更早的评论
How to read the data and plot graph from the data given.
0 个评论
回答(2 个)
Erivelton Gualter
2019-5-16
编辑:Erivelton Gualter
2019-5-16
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 个评论
Erivelton Gualter
2019-5-17
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)
Star Strider
2019-5-16
编辑:Star Strider
2019-5-17
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!