2016-06-22 26 views
0

我正在嘗試讀取文本文件,然後計算文件中包含的位數(數字0到9)。我使用fid = fopen('filename','r')打開文件,然後我使用textscan(fid,'%f')嘗試獲取數字,但它返回一個空的(0乘1)矩陣。我也使用fscanf,但不起作用。我認爲這是formatpecics錯誤,但與其他格式規格播放不起作用。請諮詢如何從matlab中的文本文件中獲取數字位數

回答

0

首先,格式規範%f試圖讀取文件中的所有數字作爲浮點數,這是不是你想要的,它似乎沒有。

如果您要的只是文件中的數字的數量,只需將整個文件作爲字符串加載並搜索數字0-9即可。

fid = fopen('filename', 'r'); 
characters = fread(fid, '*char'); 
fclose(fid); 

% Determine whether each character in the input was a digit between 0 and 9 
isDigit = ismember(characters, '0':'9'); 

% Count the total number of characters that were digits 
nDigits = sum(isDigit); 
+0

@ Suever非常感謝。 –

相關問題