populate a matrix using for loop

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 comentario

Kevin
Kevin el 2 de Mzo. de 2013
Editada: Walter Roberson el 2 de Mzo. de 2013
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

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 2 de Mzo. de 2013
rcv = reshape(sscanf(fileread('YourTextFile.txt'),'%f'),3,[]).';
YourMatrix = accumarray(rcv(:,1:2), rcv(:,3));

5 comentarios

Kevin
Kevin el 2 de Mzo. de 2013
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 el 2 de Mzo. de 2013
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 el 2 de Mzo. de 2013
Editada: Kevin el 2 de Mzo. de 2013
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 el 2 de Mzo. de 2013
Thanks after a lot of trial and errors it worked thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by