Ich möchte die Daten einer Datei mit der Größe ca. 60 MB in Matlab in einigen Variablen lesen, aber ich bekomme Fehler. Dies ist mein Code:Lesen Sie Daten zu Matlab mit For-Schleife
clear all ;
clc ;
% Reading Input File
Dataz = importdata('leak0.lis');
%Dataz = load('leak0.lis');
for k = 1:1370
foundPosition = 1 ;
for i=1:size(Dataz,1)
strp = sprintf('I%dz=',k);
fprintf(strp);
findValue = strfind(Dataz{i}, strp) ;
if ~isempty(findValue)
eval_param = strp + '(foundPosition) = sscanf(Dataz{i},''%*c%*c%*f%*c%*c%f'') ;';
disp(eval_param);
% str(foundPosition) = sscanf(Dataz{i},'%*c%*c%*f%*c%*c%f') ;
eval(eval_param);
foundPosition = foundPosition + 1 ;
end
end
end
Als ich es debuggt, fand ich heraus, dass die Dataz leer &, damit es nicht zur nächsten Zeilen gehen. Ich ersetze es mit fopen, lade & etc, aber es hat nicht funktioniert.
Waht ist das Format des Inhalts der Datei? –
Dies ist ein Ausschnitt der Datei: *** Monte Carlo Index = 1 *** i1z = -17,3439n i2z = -24,7754p – lili94
Ohne for Schleife auf K Ich habe Daten in Matlab Arbeitsbereich. Ich meine, wenn ich für jedes von k tue, aber das Problem ist, dass, wenn ich 1370 Zeit des folgenden Codes schreibe, das Matlab-Programm stundenlang in den beschäftigten Zustand geht und nicht antwortet: foundPosition = 1; für i = 1: Größe (Daten, 1) findValue = strfind (Daten {i}, 'i11p ='); if ~ isempty (findValue) i11p (gefundenePosition) = sscanf (Daten {i}, '% * c% * c% * f% * c% * c% f'); foundPosition = foundPosition + 1; Ende Ende – lili94