MATLAB: How to save a big Matrix in text file without scientific notation

dlmwriteformatMATLAB

Hello everybody,
I have a big Matrix (±2000,±5000) and I want to save it in a textfile. Therefore I used dlmwrite, but in some cases Matlab uses scientific format what I don't want. The matrix entries are of different format (integer, floating, negative, big and small numbers, also NaNs). That's why it is not useful for me, to save all entries with the same format (like wit 'precision'). And as I have a lot of columns and the order might change in different runs, i can not specify a format for each column while saving like in fprintf.
What I want is Matlab to save every entry as it does automatically with dlmwrite, but prevent saving numbers in scientific format.
Is there any possibility to realize that?
Thanks for your help!

Best Answer

No.
By default, dlmwrite() uses a %g format for numeric values. There is no way to prevent %g from using scientific notation.
%g is the only formatting code that automatically chooses representation.
If you find that it is unsuitable to pass a %f format to dlmwrite(), then your only choice is to create the format on the fly, having determined some-how how you want to write each item.
Related Question