I have a huge file with data format:
(2,4) (5,6)
(34,26) (22,78)
(18,76) (33,50) etc.
I want to create 4 matrix with data as(2,34,18) ; (4,26,76); (5,22,33) and (6,78,50). I used textscan to read the data but couldn't use it aptly. If anybody could guide me with it, it will be very helpful.

댓글 수: 2

Image Analyst
Image Analyst 2017년 7월 3일
Make it easy for people to help you by attaching the file. We don't need all 42 terabytes of it, just a few lines.
KSSV
KSSV 2017년 7월 3일

댓글을 달려면 로그인하십시오.

 채택된 답변

per isakson
per isakson 2017년 7월 3일
편집: per isakson 2017년 7월 3일

0 개 추천

Two variants
fid = fopen( 'cssm.txt' );
cac = textscan( fid, '(%d,%d) (%d,%d)', 'Whitespace','' ...
, 'Delimiter',' ', 'CollectOutput',true );
fclose( fid );
num1 = cac{1};
fid = fopen( 'cssm.txt' );
cac = textscan( fid, '%d%d%d%d', 'MultipleDelimsAsOne',true ...
, 'Delimiter','(),', 'CollectOutput',true );
fclose( fid );
num2 = cac{1};
m1 = permute( num2(:,1), [2,1] );
m2 = permute( num2(:,2), [2,1] );
m3 = permute( num2(:,3), [2,1] );
m4 = permute( num2(:,4), [2,1] );
Inspect the result
>> all(all(num1==num2))
ans =
1
>> num2
num2 =
2 4 5 6
34 26 22 78
18 76 33 50
>>
Do you really want m1,m2,m3 and m4?

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Import and Export에 대해 자세히 알아보기

질문:

2017년 7월 3일

편집:

2017년 7월 3일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by