Matrix to be printed to a text file
Afficher commentaires plus anciens
Hi, I have the following matrix AA=[Nan 1 2 3 Nan 4 5 6 Nan 7 8 9 Nan 10 Nan Nan] I want to print this matrix to a file: myfile.txt the code looks like:
fid01 = fopen('mynewfile.txt', 'w'); fprintf(fid01, '%9.8E %9.8E %9.8E %9.8E\n', transpose(AA)); fclose('all');
As one can see, one has to use transpose function in order to print correct the matrix in myfile.txt. But because of Nan the following error occurs:
"Invalid file identifier. Use fopen to generate a valid file identifier." How can avoid this. I have to use NaN in my matrix in order to replace with blanks so in myfile.txt I should have
'' 1 2 3
'' 4 5 6
'' 7 8 9
'' 10 '' ''
The file will be huge [210000x4] ~ 20 MB.
Thank you
2 commentaires
There should be no problem with writing NaN's to text file:
AA = [NaN,1,2,3;NaN,4,5,6;NaN,7,8,9;NaN,10,NaN,NaN];
fid = fopen('temp.txt','wt');
fprintf(fid,'%9.8E %9.8E %9.8E %9.8E\n',AA.');
fclose(fid);
And the generated text file:
NaN 1.00000000E+00 2.00000000E+00 3.00000000E+00
NaN 4.00000000E+00 5.00000000E+00 6.00000000E+00
NaN 7.00000000E+00 8.00000000E+00 9.00000000E+00
NaN 1.00000000E+01 NaN NaN
Can you please show the exact code that you are using?
Ionut Anghel
le 23 Juin 2015
Réponse acceptée
Plus de réponses (1)
Ingrid
le 23 Juin 2015
0 votes
the error that is given has nothing to do with the NaNs in your file but means that the file to were you want to write could not have been opened correctly. This would show as fid01 == -1
are you sure that you have writing permissions to were you want to write the file?
1 commentaire
Ionut Anghel
le 23 Juin 2015
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!