Hallo, ich hoffe ich poste hier in das richtige Forum. Sorry falls nicht.
Mein Problem bzw. meine Aufgabe ist folgende:
Ich habe mehrere Tabellen sprich mehrere Dateien erzeugt (externes Programm). Aus einer jeweiligen Tabellen moechte ich aus bestimmten Spalten Graphen erzeugen und diesen Plot dann als Bild abspeichern. Dies hab ich bereits fuer eine Tabelle auch hin bekommen:
Code:
LC11=importdata('LC1.1_MonopileOffshore.out'); %Einlesen der Datei
hold on;
plot(LC11.data(1:40000,1),LC11.data(1:40000,2),'g'); %Plot des Graphen fuer diese Spalte
plot(LC11.data(1:40000,1),LC11.data(1:40000,6),'y'); %Plot des Graphen fuer diese Spalte
plot(LC11.data(1:40000,1),LC11.data(1:40000,11),'r'); %Plot des Graphen fuer diese Spalte
plot(LC11.data(1:40000,1),LC11.data(1:40000,13),'c'); %Plot des Graphen fuer diese Spalte
xlabel('Zeit') %die Achse stellt die Zeit da
legend('WindVxi','Power','PitchAngle','RotSpeed'); %Legende um Graphen zu unterscheiden
saveas(gcf,'LC1.1_MonopileOffshore.bmp') %Abspeichern des Plots
Ich moechte nicht fuer jede Datei meine m-File von Hand aendern.
Wie kann ich das ganze nun automatisieren, also das alle Tabellen dementsprechend ausgewertet und entsprechende Bild-Dateien abgespeichert werden?
Ich habe schon lange im Internet danach gesucht, auch aehnliche Problemstellungen und Loesungen gefunden, jedoch kann ich durch meine doch eher geringen MatLab Kenntnisse diese nicht anwenden.
Ich hoffe ihr koennt mir weiterhelfen! Waere euch sehr dankbar!
P.S. Sorry dass ich keine Umlaute verwende, ich befinde mich gerade nicht in Deutschland bzw. hab keine deutsche Tastatur
for I=1:5 for J=1:3
dateiname=['LC' num2str(I) '.' num2str(J) '_MonopileOffshore.out'];
% dann mit Dateiname weiter arbeiten
dateiname=importdata(dateiname); %Einlesen der Datei
hold on;
plot(dateiname.data(1:40000,1),dateiname.data(1:40000,2),'g'); %Plot des Graphen fuer diese Spalte
plot(dateiname.data(1:40000,1),dateiname.data(1:40000,6),'y'); %Plot des Graphen fuer diese Spalte
plot(dateiname.data(1:40000,1),dateiname.data(1:40000,11),'r'); %Plot des Graphen fuer diese Spalte
plot(dateiname.data(1:40000,1),dateiname.data(1:40000,13),'c'); %Plot des Graphen fuer diese Spalte
xlabel('Zeit') %die Achse stellt die Zeit dar
legend('WindVxi','Power','PitchAngle','RotSpeed'); %Legende und Graphen zu unterscheiden
saveas(gcf,'dateiname.bmp') %Abspeichern des Plots
Bin damit schon einen Schritt weiter. Das "Figure 1" Fenster zeigt immer einen anderen Graphen.
Jedoch kann ich die Graphen jetzt noch nicht auswerten, da es relativ schnell geht und die Datei "Dateiname.bmp" immer ueberschrieben wird. Also es werden keine verschiedenen Plots abgespeichert.
Ebenso kannst du natürlich den Dateinamen für die Figure anpassen.
Ausgehend von der Variante für die Quelldateien sollte es ja nun auch kein Problem sein, mit einem ähnlichen Konstrukt einen Bildnamen zusammenzubasteln.
Mit dem Befehl PAUSE kannst du übrigens künstliche Pausen einbauen, z.B.
clc clearall for J=1:12% Definition erster Ziffer for I=1:5% Definition zweiter Ziffer
dateiname=['LC' num2str(J) '.' num2str(I) '_MonopileOffshore.out'];
% Definition Variable, dann mit Dateiname weiter arbeiten
dateiname=importdata(dateiname); % Einlesen der Datei hold on;
plot(dateiname.data(1:40000,1),dateiname.data(1:40000,2),'g'); % Plot des Graphen fuer diese Spalte plot(dateiname.data(1:40000,1),dateiname.data(1:40000,6),'y'); % Plot des Graphen fuer diese Spalte plot(dateiname.data(1:40000,1),dateiname.data(1:40000,11),'r'); % Plot des Graphen fuer diese Spalte plot(dateiname.data(1:40000,1),dateiname.data(1:40000,13),'c'); % Plot des Graphen fuer diese Spalte xlabel('Zeit')% die Achse stellt die Zeit dar legend('WindVxi','Power','PitchAngle','RotSpeed'); % Legende und Graphen zu unterscheiden
graph=['LC' num2str(J) '.' num2str(I) '_MonopileOffshore.bmp']; % Variablenname fuer print Befehl print('-f1', '-dbmp', graph); % druck bzw. abspeichern des Plots als Bilddatei
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.