How to read tabular data from *.DAT files into MATLAB?

조회 수: 2,110 (최근 30일)
G
G 2013년 6월 22일
댓글: Luis Miguel Ariza Morales 2022년 10월 7일
Dear all,
just tried to read a *.dat file into MATLAB. Loading the file worked out quite fine.
A=importdata('PIOMAS.vol.daily.1979.2013.Current.v2.dat');
A.data;
However, the resulting data looks strange (binary issue?).
2.0130 0.1490 0.0193
2.0130 0.1500 0.0192
2.0130 0.1510 0.0191
How it should look like
Year #day Vol
1979 1 26.405
1979 2 26.496
1979 3 26.582
1979 4 26.672
1979 5 26.770
1979 6 26.867
1979 7 26.940
1979 8 27.013
1979 9 27.095
1979 10 27.185
Maybe somebody knows how to do the trick. Best regards, Fernandes
  댓글 수: 2
ebot joel
ebot joel 2019년 3월 18일
M=dlmread('filename.extension')
plot(M(:,1.),M(:,2))
Luis Miguel Ariza Morales
Luis Miguel Ariza Morales 2022년 10월 7일
clear; close all; clc;
A=importdata('nombre_documento.extension');
A.data;
% para ver la primera columna
A.data(:,1); % muestra números en pantalla
% para ver más de una columna
M=[A.data(:,2) A.data(:,3)];
% para graficar lo que deseo:
plot(M(1,1),M(1,2),'.b');
hold on
for i=1:size(M,1)
axis([0 1 0 2]) % en x[0 1]; en y [0 2]
grid on
plot(M(i,1),M(i,2),'.b')
end

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2013년 6월 22일
편집: MathWorks Support Team 2018년 11월 7일
You can use the “Import Tool” app or the “readtable” function to accomplish this.
Right click on the CSV file and select the “Import Tool”, which will help you through the import process. The Import Tool helps you import the data interactively.
Or use the “readtable” function which imports the data as a table:
T = readtable('myCSVfile.csv');
For more information on using “Import Tool” see:
For more information on using “readtable” see:
  댓글 수: 13
janani subraveti
janani subraveti 2017년 4월 10일
I could load data from the workspace and could send it to buffer using 'from workspace' block in simulink but instead of that i want to use 'from file' block and for using that i need to store my data into .mat file, how can I do it? and my code is in this way when i used 'from workspace' block when my data is being loaded into my workspace.In the following case, I want to give C to a mat file and use the block 'from file' and load C from it, how can I do that?
clc;
Fs=1000;
Ts=1/Fs;
fileID = fopen('pet_data.dat');
OneByte = fread(fileID,'*ubit8');
A=double(OneByte);
B=[0:Ts:(length(A)-1)/Fs]';
C=[B A];
D=dec2hex(A);
Walter Roberson
Walter Roberson 2017년 4월 10일
ts = timeseries(B, A);
save('pet_ts.mat', 'ts', '-v7.3');
Now From File of pet_ts

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Large Files and Big Data에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by