Machs mit MATLAB oder octave!
Du brauchst dafür die Funktion textread.
http://octave.sourceforge.net/octave/function/textscan.htmlhttp://www.mathworks.de/de/help/matlab/ref/textscan.htmlSchau dir die Dokumentation der Funktion an! Schau dir auch die Verweise an. Das wird 90% deiner Fragen klären.
Ich gehe mal davon aus, dass deine Daten zeilenweise, von Kommata getrennt vorliegen.
Das hier ist die Variante für alles in einem Rutsch lesen.
Ohne Funktionsgarantie, ich hab grad kein Matlab offen.
fp = fopen('MeineDatei.txt','r');celldata = textscan(fp,'%s,%s,%f,%f,%f,%f');fclose(fp);%Daten aus cellarray extrahieren und in Matrizen umwandelnu_batt = cell2mat(celldata{3}{:});i_charge = cell2mat(celldata{4}{:});u_solar = cell2mat(celldata{5}{:});i_solar = cell2mat(celldata{6}{:});%Mittelwerte:u_batt_mean = mean(u_batt);i_charge_mean = mean(i_charge);u_solar_mean = mean(u_solar);i_solar_mean = mean(i_solar);%plotten figure;plot(u_batt,'k');hold on;plot(u_batt_mean,'r');%entsprechend ähnlich für die anderen Werte
Bei octave kann es nötig sein, den textscan Befehl anzupassen, weil die Implementation fehlerhaft ist!
Octave kann scheinbar in so einigen Versionen nur Strings mit textscan einlesen und keine numerischen Werte.
(Wie soetwas in ein Release kommen kann ist mir rätselhaft, testet das keiner?)
Daher textscan so aufrufen:
celldata = textscan(fp,'%s,%s,%s,%s,%s,%s');
Bei der Umwandlung in Matrizen müssen die Befehle nach folgenden Schema abgeändert werden:
u_batt = cell2mat(str2double(celldata{3}{:}));
Ich gehe davon aus, dass du nur die Werte in deine Datei gespeichert hast und keine Einheiten dazugeschrieben hast. Nur Zahlen getrennt von Kommata und keine Kopfzeilen.
Weicht dein Format ab, schau dir die Befehlsdokumentation an und änder deine Aufrufe entsprechend ab.