function [A] = funktion_signale_aus_txtlog_einlesen(Datei);
%%% Funktion zum Einlesen von Signalen aus einer Textdatei.
%%%
%%% Eingang: Name inkl. Pfad einer Textdatei
%%% Ausgang: Matrix mit allen eingelesen Signalen in den Spalten (je Zeile
%%% Text eine Zeile in der Matrix)
%%% Format der Textdatei:
%%% Signal1;Signal2;Signal3,
%%%
%%% also z. B.:
%%% 34368;652;27;0;0;0;286;-68391,
%%% 34386;652;27;0;0;0;285;-68392,
%%% 34420;652;27;0;0;0;283;-68394,
%%% 34453;652;27;0;0;0;282;-68395,
%%% 34487;652;27;0;0;0;284;-68393,
%% Datei öffnen und Daten einlesen
% öffnen
fid = fopen(Datei);
% Rohdaten einlesen
raw_data = fread(fid,'*char')';
if ~(strcmp(raw_data(1),';'))
raw_data=[';',raw_data];
end
%% Semicolons und Kommas finden
string_laenge = length(raw_data);
semicolon = strfind(raw_data,';');
komma = strfind(raw_data,',');
gesamt = sort([semicolon komma]);
n_spalten = round((length(gesamt)-1)/length(komma));
i_semicolon = 1;
i_komma = 1;
i_zeilen = 1;
i_gesamt = 1;
%% leere Matrix A erzeugen
A = [];
% Matrix A befüllen
try
while i_gesamt <= length(gesamt)
for i_spalten = 1:n_spalten
i_gesamt = i_gesamt+1;
if i_gesamt >1
if strcmp(raw_data(gesamt(i_gesamt-1)),',')
i_komma = i_komma +1;
end
end
try
A(i_komma,i_spalten) = str2num(raw_data(gesamt(i_gesamt-1)+1:gesamt(i_gesamt)-1));
catch
%fprintf(1, '%s: Catch-Zweig erreicht\n', mfilename);
end
end
end
catch
%fprintf(1, '%s: Catch-Zweig erreicht\n', mfilename);
end
%% Datei schließen
fclose(fid);