2013-12-12 209 views
-1

我想在MATLAB中讀取txt文件中存在的複數數據到1D數組中。我是MATLAB新手。請幫助我。從文件讀取MATLAB中的複數數據

對不起模糊的問題。真誠的歉意..

其實我有包含字符串.txt文件表示複數(以.txt文件單線代表)爲如:

1 + 3I

- 1-i

等等...

我想讀取相同的1 * N Matrix在MATLAB(其中ñ表示.txt文件複數的數量)。我怎麼可能這樣做?

+0

你是什麼意思的複雜?這不是你如何描述你的問題。 –

+0

m非常抱歉的模棱兩可的問題。我更新了我的問題。 – Venu

回答

2

我假設你的意思是你的文本文件有兩列,即實部和虛部。在這種情況下,你可以這樣做:

>> type cplx.txt % real and imaginary parts are two columns 
1 2 
3 4 
5 6 
>> rawData = dlmread('cplx.txt') 

rawData = 

    1  2 
    3  4 
    5  6 

>> complexData = complex(rawData(:, 1), rawData(:, 2)) 

complexData = 

    1.0000 + 2.0000i 
    3.0000 + 4.0000i 
    5.0000 + 6.0000i 

編輯

好,與該文件格式,你應該能夠使用TEXTSCAN。

>> type cplx2.txt 

1+3i 
1i 
2 
4-4i 
>> fid = fopen('cplx2.txt', 'rt'); 
>> x = textscan(fid, '%f'); 
>> fclose(fid); 
>> x{1} 

ans = 

    1.000000000000000 + 3.000000000000000i 
    0.000000000000000 + 1.000000000000000i 
    2.000000000000000 + 0.000000000000000i 
    4.000000000000000 - 4.000000000000000i 

請注意,TEXTSCAN無法處理由「i」組成的行。這是一個恥辱。

+0

感謝__Edric__對於ua的幫助,但.txt文件中的數據與我在修改後的問題中所述的相同。 – Venu