2013-12-12 2 views
-1

MATLAB의 txt 파일에있는 COMPLEX 데이터를 1D 배열로 읽으 려합니다. 나는 MATLAB에서 초보자입니다. 제발 도와주세요.파일에서 MATLAB의 복합 데이터 읽기

모호한 질문은 죄송합니다. 진심으로 죄송합니다 ..

사실 내가 예를 들어, 복잡한 번호를 (.txt 파일에 한 줄이 나타내는) 나타내는 문자열을 포함하는 .txt 파일을

:

1 +

3i는 내가

- 1-i

.

.

.

...

나는 MATLAB에 (N는 .txt 파일에서 복잡한 숫자의 수를 나타냅니다) 1 * N 매트릭스에서 동일한을 읽고 싶어. 내가 어떻게 그렇게 할 수 있니?

+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 help .txt 파일의 데이터는 수정 된 질문에서 위에 설명 된 것과 같습니다. – Venu