cell2mat error in reading in e+ (scientific notation)

Hi
i'm really puzzled as this bit of code has worked well in the past - but now does not work properly, as it no longer converts the scientific notation of large numbers imported from the text file (i.e.5e+10), it gives numbers like 0.000001 instead, or just 0, when using cell2mat
fid=fopen('base.vtk','r'); % open the file; be sure to add the error-checking code
l=fgetl(fid); % read first record
while ~strcmp(l,'absorb_dens 1 1030301 double') % loop until find the magic record
l=fgetl(fid);
end
data=textscan(fid,'','collectoutput',1); % read, convert cell to double array
fid=fclose(fid); % done with file, go on..
data_1 = cell2mat(data);
does it work for you? my file is quite big but can be downloaded here.
it's a .vtk file - but when opend in matlab looks just like a .txt
thanks
Charlie

3 commentaires

textscan format of '' is undocumented .Historically it has been used internally by dlmread but should not be relied on .
cgenes
cgenes le 20 Déc 2018
bizarrely - in the console - these odd numbers are displayed - but actually in the variable the correct numbers are held
so my code above does actually work - the console representation of the data was confusing me
thanks
Guillaume
Guillaume le 20 Déc 2018
I would still heed Walter's warning that the syntax you're using is undocumented and likely to break under unspecified conditions (and not work at all in future versions of matlab).

Connectez-vous pour commenter.

Réponses (0)

Catégories

Question posée :

le 14 Déc 2018

Commenté :

le 20 Déc 2018

Community Treasure Hunt

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

Start Hunting!

Translated by