2016-06-22 15 views
0

テキストファイルを読み込み、そのファイルに含まれる桁数(0〜9まで)を数えようとしています。私は、ファイルを開くためにfid = fopen( 'filename'、 'r')を使用した後、数字を取得するためにtextscan(fid、 '%f')を使用しましたが、空の(0 x 1)マトリックスを返します。私はfscanfも使用しましたが動作しません。私はそれが間違っていたformatspecだと思っていましたが、他のフォーマット仕様で再生することはできません。助言をお願いします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さん、ありがとうございます。 –

関連する問題