Hallo KnutE51,
20 Sekunden ist eine ganz schön lange Zeit für gerade mal 64MB an Daten. Vermute aber, dass dies auch nicht schneller ist als TEXTSCAN:
Data = fileread(FileName);
CStr = regexp(Data, '\n', 'split');
Aber im folgenden kann man etwas verschlanken, was aber bei weniger als einer Sekunde Laufzeit kaum auffallen wird:
C = FILE_IMPORTET{1};
row_GRID = strncmp(C, 'GRID', 4);
% Find_Grid = find(row_GRID); % ==1 und (:) überflüssig
% Aber logical indexing ist noch besser:
GRID_Lines = C(row_Grid);
Eigentlich beschränkt sich Deine Frage also auf: Wie konvertiert man folgenden Cell-String in diesen Vektor:
CStr = {'GRID 5 377.2055 -752.1-64.3679', ...
'GRID 30525 343.6035 -750.6 -5.6498'};
Value = [ 5, 377.2055, -752.1, -64.3679; ...
30525, 343.6035, -750.6, -5.6498];
Richtig?
Das sollte eigentlich mit SSCANF gehen, nachdem man die Strings zusammengefügt hat, aber ich kann es gerade nicht testen. Ich schaue wohl heute abend noch mal rein.
Gruß, Jan
↧