Loading data from a dat file containing header
古いコメントを表示
Hi
I have data file (KEmodel12_G201.dat) in format as seen in attached image. While loading this data in matlab, it shows error that 1st and 2nd lines do not match. First line is the header, required when i am using this data for tecplot. If remove the header, it works fine.
How do i make matlab read it from the 2nd line and not consider the 1st line? I have also attached the data file in .txt format as .dat is not supported here.
I had seen similar post, but none actually answered the question i have. This is the code i am using to load the data.
modeldata = modeldata('KEmodel12_G201.dat');
x = modeldata(:,1);
k = modeldata(:,7);
e = modeldata(:,8);
Thanks Rachit
 

採用された回答
その他の回答 (1 件)
Geoff Hayes
2014 年 12 月 27 日
Rachit - consider using importdata to read the data from file so that the first header line is ignored. Try something like
A = importdata('myFile.txt', '\t', 1);
In the above, we specify which file to import the data from, the (tab) delimiter between each column, and the number of header lines to ignore.
4 件のコメント
Geoff Hayes
2014 年 12 月 27 日
編集済み: Geoff Hayes
2014 年 12 月 27 日
Rachit - if you read the documentation for the importdata function, and consider the examples, you will note that A is a structure with the text/header info and numeric data fields. So you could try
x = A.data(:,1);
k = A.data(:,7);
e = A.data(:,8);
to get the desired numeric data.
RS
2014 年 12 月 27 日
Geoff Hayes
2014 年 12 月 28 日
This is what happens when I try to answer a question without using MATLAB! :)
The delimiter between each column should be a single whitespace. So the following
A = importdata('KEmodel12_G201.txt', ' ', 1);
would return
A =
data: [201x8 double]
textdata: {'ZONE T="Inviscid"'}
And so now you could extract the data as
x = A.data(:,1);
k = A.data(:,7);
e = A.data(:,8);
Sorry for the confusion!
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!