I have text file (66*3 matrix), the first column is the row # , the second column is column # and the 3rd column is a value, how can I populate another matrix with the info given in the text file using for loop or any other method.
Hope I conveyed my message well.
Thanks

댓글 수: 1

Kevin
Kevin 2013년 3월 2일
편집: Walter Roberson 2013년 3월 2일
Im gonna go with a smaller sample to clarify like 5*3 text file,
test.txt = [ 0 0 78
;1 0 24
;1 1 25
;2 0 18
;2 1 -54 ]
so the new populated matrix would be NewMatrix = [78 0 0 ;24 25 0 ;18 -54 0]
Thanks

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

 채택된 답변

Walter Roberson
Walter Roberson 2013년 3월 2일

1 개 추천

rcv = reshape(sscanf(fileread('YourTextFile.txt'),'%f'),3,[]).';
YourMatrix = accumarray(rcv(:,1:2), rcv(:,3));

댓글 수: 5

Kevin
Kevin 2013년 3월 2일
thanks for your answer but it did not work
0 is not a row or column number.
Does your text file contain the '[' and ']' and the ';' ? Or does it contain only what was described, as in
1 1 78
2 1 24
2 2 25
3 1 18
3 2 -54
?
Notice the correction of the erroneous row and column inputs you had.
Kevin
Kevin 2013년 3월 2일
Hey, no its just separated by space, only what it was described, but there are zeroes in there though, what should I do?
Kevin
Kevin 2013년 3월 2일
편집: Kevin 2013년 3월 2일
Okay I fixed it now it is exactly like
1 1 78 2 1 24 2 2 25 3 1 18 3 2 -54
now How do I turn it to
78 0 0 24 25 0 18 -54 0 ? thanks
Kevin
Kevin 2013년 3월 2일
Thanks after a lot of trial and errors it worked thanks

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

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by