write a matrix to a text file
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Walter Roberson
il 22 Giu 2011
Are the NaN certain to be at the end of the line? If not then a different method would have to be used.
Risposta accettata
Laura Proctor
il 22 Giu 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 Commenti
Walter Roberson
il 22 Giu 2011
The [] are horizontal concatenation in this contexts. Building up a string by parts.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Cell Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!