write a matrix to a text file
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I'd like to write a matrix into a text file, but I don't want elements with NaN value appear in the file, instead I want an empty space for each NaN value, here is a part of the matrix:
- 1 NaN NaN NaN NaN
- 3 4 4 NaN NaN
- 6 1 NaN NaN NaN
- 2 2 NaN NaN NaN
- 4 4 5 NaN NaN
- 6 2 3 2 NaN
thanks!
1 comentario
Walter Roberson
el 22 de Jun. de 2011
Are the NaN certain to be at the end of the line? If not then a different method would have to be used.
Respuesta aceptada
Laura Proctor
el 22 de Jun. de 2011
I wrote the following code which writes it line by line. Do you need the line breaks to be as they are in the original matrix? If not, then a FOR loop wouldn't be necessary.
A = [ 1 NaN NaN NaN NaN
3 4 4 NaN NaN
6 1 NaN NaN NaN
2 2 NaN NaN NaN
4 4 5 NaN NaN
6 2 3 2 NaN ]
fid = fopen('stuff.txt','w+');
for idx = 1:size(A,1)
line = A(idx,~isnan(A(idx,:))); % creates the line of data without NaNs
fprintf(fid,[repmat('%d ',1,length(line)),'\n'],line);
end
fclose(fid);
2 comentarios
Walter Roberson
el 22 de Jun. de 2011
The [] are horizontal concatenation in this contexts. Building up a string by parts.
Más respuestas (0)
Ver también
Categorías
Más información sobre Cell Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!