2014-03-28 103 views
1

我有下面的格式一串複數的文本文件cTest.datMatlab的:使用textscan閱讀複數

(2.324,2432) (-1.24,-3.43) 
(2.4,0) (1.24,-8.85) 
(-2.324,4.56) (-1.24,-3.43) 

,我想給他們讀入MATLAB。從help site似乎textscan將是一個不錯的選擇,我要儘量

id2=fopen('cTest.dat'); 
C = textscan(id2, '(%f , %f)'); 

但是這給了我

C = [6x1 double] [6x1 double] 

有誰知道如何做到這一點?

+0

是什麼ID2的格式? – NKN

+0

你能展示你期待的輸出的例子嗎?它有點不清楚,我最終想要什麼...... – darthbith

+0

@darthbith最後,我想結束複雜的數字(在matlab中:2.324 + 2432i,...)。我希望上面給出的兩個向量C(1)和C(2)分別包含實部和虛部,以便我可以構造複數。 – jorgen

回答

3

你只需要一個多行:

C=complex(C{1,1},C{1,2}) 
+0

使用該命令,我得到了'C =空矩陣:0-by-1' – jorgen

+0

我剛剛使用了你的代碼,我得到了和你一樣的結果:2個單元格,6個雙打。通過添加此代碼行,我得到了6個複數雙數的數組。我使用matlab2013b。 – Wli

+1

我不知道我在之前的評論中做了什麼錯,現在也適用於我。對不起,非常感謝! – jorgen