2016-11-23 17 views
-3

私はpltファイルを読んでいますが、データを文字配列から数値配列に変換する際に問題があります。私はstr2numとstr2doubleを使ってみましたが、reulstは常に:[]またはNaNです。文字配列から数値配列にデータを変換します

[filename pathname] = uigetfile({'*.plt'},'File Selector'); 
fullpathname = strcat(pathname,filename); 
set(handles.text2,'string',fullpathname);%show full path name 
loaddata = fullfile(pathname,filename); 
fid = fopen(loaddata, 'r');% Read the entire file into memory 
contents = fread(fid,'*char')'; 
fclose(fid); 
contents = strrep(contents, ',', '.')% Replace `,` with `.` 
data = str2double(contents)% Now convert to numbers` 

Uは内容から、ここでいくつかのサンプルを見つける:空白で区切られた複数の数字を含む文字列を変換するために

+8.7595000000000000E+03  +0.0000000000000000E+00  
+0.0000000000000000E+00  +8.3581639938152974E-01 
+0.0000000000000000E+00  +4.6014153848539308E+01 
+4.6014153852568526E+01  +0.0000000000000000E+00 
+0.0000000000000000E+00  +8.3581639938152974E-01 
+0.0000000000000000E+00  +2.2902134241670819E+01` 
+6

ピクチャの代わりに配列からサンプルを直接提供すると、何が起こっているのかを簡単にテストできます。それはできますか? – Roxanne

+0

こんにちは:)完了!私は自分の質問を編集する –

+0

@EmnaAmeurあなたのサンプルデータのバックティックは実際にそこにありますか? – Suever

答えて

0

は、あなたがstr2numとないstr2doubleを使用したいと思います。

str2doubleは、文字列または文字列のセル配列として1つの数字を想定しています。それ以外のものを入力すると、NaNが返されます。

+0

str2num結果の[ –

+0

@EmnaAmeurあなたのサンプルデータでうまく動作します。実際のファイルを投稿してください。 – Suever

関連する問題