Read .dat file in matlab

I have a .dat mesh file which looks something like this
v 0 1 2 3
v 2 4 5
..
Any idea how I can read the file in matlab and find the number of occurrences of a particular string and also the number of integers in a particular row?

1 件のコメント

Sandeep
Sandeep 2013 年 2 月 4 日
Suppose, I want to extract a certain data by arranging the entire data in the file in an array provided each row has different number of data like
v 1 2 3 4 6
v 1 2 0
v 3 4 9 2..
Also, is there any way to find the number of numbers in each row?

サインインしてコメントする。

回答 (1 件)

Image Analyst
Image Analyst 2013 年 2 月 3 日
編集済み: Image Analyst 2013 年 2 月 3 日

0 投票

Just read it in line by line with fgetl(). Then use strfind() on each line to see if some sequence of numbers you're interested in exists in the string.
fid = fopen('sandeep data.dat);
tline = fgetl(fid);
while ischar(tline)
disp(tline)
tline = fgetl(fid);
if strfind(s, '2 4 5') > 0
message = 'Found it';
uiwait(msgbox(message));
end

2 件のコメント

Sandeep
Sandeep 2013 年 2 月 4 日
Thanks.. I have another question.. Suppose, I want to extract a certain data by arranging the entire data in the file in an array provided each row has different number of data like
v 1 2 3 4 6
v 1 2 0
v 3 4 9 2..
Also, is there any way to find the number of numbers in each row?
Image Analyst
Image Analyst 2013 年 2 月 4 日
Just count the spaces. The number of spaces equals the number of numbers:
numberOfNumbers = sum(s == ' ')

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeData Import and Analysis についてさらに検索

質問済み:

2013 年 2 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by