2016-10-11 7 views
0

私は、テキストファイルをブラウズして読み込み、いくつかのカーブを表示できるmatlabを使用してユーザーインターフェイスを開発しています。私は問題に直面している、私のファイルテキストは10進数のセットです、matlabは2つの列としてそれらの数値を読んでいます。そうGUI matlabで十進数を読む

[filename pathname] = uigetfile({'*.txt'},'File Selector'); 
fullpathname = strcat(pathname,filename); 
text = fileread(fullpathname); %reading information inside a file 
set(handles.text6,'string',fullpathname)%showing full path name 
set(handles.text7,'string',text)%showing information 
loaddata = fullfile(pathname,filename); 
xy = load(loaddata,'-ascii','%s'); 
t = xy(:,1); 
i = xy(:,3); 
handles.input1 = i; 
handles.input2 = t; 
axes(handles.axes1); 
plot(handles.input1,handles.input2) 

曲線strenge見えるので、私は結果をチェックする:このコードをruningて後

enter image description here

:uが、ここで私が働いているファイルを見つける: これはexempleですコマンドウィンドウを使用してxy = load(loaddata、 ' - ascii')を実行すると、ここに問題が表示されます!

enter image description here

だから私は今、12列の代わりに、6を持っています!私を助けてくれるの? strrep(data、 '、'、 '。')を試しましたが、うまくいきませんでした!

+1

あなたの質問はファイルの解析についてですか? *実際のファイルの内容を投稿し、関連するコード行のみを表示するのはどうですか?これはGUIとは関係ありません。 – Suever

+0

こんにちは、私はそれを確認することができますより明確にするために私の質問を編集:) –

+0

スクリーンショットを投稿するのではなく、実際のデータを質問に貼り付けることができますか? – Suever

答えて

0

あなたはコンマを使用しているので、あなたの小数点のために、あなたは、文字列としてファイル全体に最初の負荷になるでしょう.,を交換し、その後、数値配列にファイル全体を変換するためにstr2numを使用することができます

% Read the entire file into memory 
fid = fopen(loaddata, 'rb'); 
contents = fread(fid, '*char')'; 
fclose(fid); 

% Replace `,` with `.` 
contents = strrep(contents, ',', '.'); 

% Now convert to numbers 
data = str2num(contents); 
+0

@EmnaAmeurあなたには、それを解決策としてマークすることを検討してください – Suever