2016-09-20 9 views
-3

私は以下のような形式のテキストファイルにデータセットを持っています。データをMATLABにどのようにインポートしますか?ありがとう!あなたの質問では、あなたがこれまでのところ、またはあなたがそれを使用するinteend方法望ましい結果がどうなるか試してみましたか説明場合MATLABでセル配列データをインポートする方法

{(38.7948,1319,0.8571,119,0),(39.0693,138,0.0897,21,0),(40.7911,63,0.0409,7,0),(103.4512,19,0.0123,5,0),(-26.0424,223,1.0000,28,0)} 
{(35.8689,110,0.5093,14,0),(47.7915,41,0.1898,7,0),(59.7489,53,0.2454,7,0),(71.7298,12,0.0556,3,0)} 

答えて

1

は、それは常に便利です。そうすれば、質問に答えた人は多くのことを引き受ける必要はありません。

ここでは、各行を数値配列のセットでセルとしてインポートしたいとします。式をevalutateするMathWorks社のMATLABを取得するために

は、括弧内の括弧を使用して、それぞれの行を取得するにはfopen、その後fgetlを使用することができ、ファイルを読むには

{(1,2),(3,4)} 
Error: Expression or statement is incorrect 

{[1,2],[3,4]} 
ans = 
    [1x2 double] [1x2 double] 

を交換する必要があり訂正します。 fgetlの結果がcharでない場合、ファイルの終わり(EOF)に達します。

% Open file 
f = fopen('...path\to\file.txt','r'); 

C = {}; 
while true 
    % Read each line 
    fStr = fgetl(f); 
    if ischar(fStr) 
     % Replace parentheses and evaluate expresission 
     C{end+1} = eval(regexprep(fStr,{'(',')'},{'[',']'})); 
    else 
     % End of file 
     break 
    end 
end 
fclose(f) 

おそらく、ファイル内のデータを不正確にフォーマットする必要がある場合は、いくつかのエラーチェックを含める必要があります。また、他の方法でデータを読み取ることもできます。例:freadまたはfscanf

+0

ありがとうございました!これは私が探しているものです。 – user2230101

関連する問題