WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Script-File erstellen um DTA-Datei einzulesen und zu plotten

 

Kaen
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 08.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2014, 21:41     Titel: Script-File erstellen um DTA-Datei einzulesen und zu plotten
  Antworten mit Zitat      
Hallo zusammen,

ich bin ein absoluter Matlab- und Programmier-Neuling. *Mit gutem Willen es zu lernen. Very Happy

Ich möchte ein Script-file erstellen, mit dem ich eine bestimmte Spalte (mit mehreren Zeilen) gegen eine anderen Spalte plotten kann.

Die Frage klingt recht einfach, aber an ihrer Umsetzung scheitere ich zur Zeit.
Könnt ihr mir da behilflich sein?

Ich habe in den Anhang ein Beispiel gepackt. Zum Beispiel möchte ich hier die Spalte d (X-Achse) gegen e (Y-Achse) plotten.
Jetzt habe ich aber nicht nur eine dieser Dateien, sondern acht und möchte aber immer die gleichen Spalten gegeneienander aufgetragen haben. Ich möchte gerne ein Script erstellen, der mit die Arbeit vereinfachen und für alle Dateien die ich möchte durchführen soll. Ist die Umsetzung so wie ich mir das vorstelle irgendwie möglich?


PS.: Ich bin wirklich absoluter Programmier-Neuling...bitte möglichst "einfach" (sofern eben möglich) erklären.

Ein Danke im vorraus an ALLE die sich beteiligen.

Beste Grüße
Kaen

Test.txt
 Beschreibung:

Download
 Dateiname:  Test.txt
 Dateigröße:  1.28 KB
 Heruntergeladen:  365 mal
Private Nachricht senden Benutzer-Profile anzeigen


Kaen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 08.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.06.2014, 10:34     Titel: Lösung1
  Antworten mit Zitat      
So ich habe heute morgen einwenig rumprobiert und das ist nun ein Lösungsweg. Very Happy

1. Die Dateien im Current Folder suchen.
1. Die Datei die ihr plotten möchtet: Erst die Matrix der entsprechenden Datei/Dateien auswählen
2. Über Import Data wird die Matrix in die Workspace eingelesen (Workspace sollte vllt. immer mal wieder abgespeichert werden!)
3. Im Command Window werden die Variablen der Matrix wie folgt definiert eingegeben:

Code:
  %Eingabebefehl im Command Window (Ihr könnt euch das vorher als Script (Editor-Dat.) in Matlab anlegen! Einfach auf New Script klicken und los geht's.)

>> d=Test(:,4);  % d ist die Variable die ihr definiert und "Test" ist die Datei aus der ihr die spalte einlesen wollt; Die Zahl "5" gibt die spalte an, die ihr plotten möchtet;
   e=Test(:,5);  % -"- (gleiche wie oben)

% Plotten des Diagramms
   figure(1); % das braucht ihr nur wenn ihr mehrere Dateien einlesen wollt um diese dann als einzelnde figuren zu plotten;
   plot(e,d)
   legend({'LILA1},'Location','EastOutside') % so legt ihr eine zum Beispiel eine Legende außerhalb der figur an;
    title('LILA1'); % das ist der Titel eurer Figur;
    xlabel('blabla [Einheit]'); % so gebt ihr eure Achsenbeschriftung der x-Achse an
    ylabel('-blabla [Einheit]'); % so gebt ihr eure Achsenbeschriftung der x-Achse an
%   Jetzt nur noch als Figur abgespeichern!
 

Am besten speichert ihr euren Script-File und Workspace damit ihr beim nächste Öffnen der Datei noch alle eure Ausarbeitungen habt und nicht alles neu schreiben müsst.
------------------------------------------------------


Wenn ihr nun mehrere Dateien habt, sagen wir:

Test1
Test2
Test3

Dann könnt ihr folgendes Script anlegen:

Code:

>> d1=Test1(:,4);  
   e1=Test1(:,5);


>> d2=Test2(:,4);  
   e2=Test2(:,5);  


>> d3=Test3(:,4);  
   e3=Test3(:,5);  

% Plotten der Einzeldiagramme

   %Test1
      figure(1);
       plot(e1,d1)
       legend({'LILA1},'Location','EastOutside')
        title('LILA1');
        xlabel('Parameter [Einheit]');
         ylabel('-Parameter[Einheit]');
   %Jetzt nur noch als Figur abgespeichern!

 
   %Test2
      figure(2);
       plot(e2,d2)
       legend({'LILA2},'Location','EastOutside')
        title('LILA1');
        xlabel('Parameter [Einheit]');
         ylabel('-Parameter [Einheit]');
   %Jetzt nur noch als Figur abgespeichern!

   %Test3
      figure(3);
       plot(e3,d3)
       legend({'LILA3},'Location','EastOutside')
        title('LILA1');
        xlabel('Parameter [Einheit]');
         ylabel('-Parameter [Einheit]');
   %Jetzt nur noch als Figur abgespeichern!

%Plotten als Zusammenfassung in einer Figur (zusätzlich zu den anderen Figuren) geht wie folgt:

   %Test1,2,3
      figure(4);
       plot(e1,d1,e2,d2,e3,d3)
       legend({'LILA1', 'LILA2', 'LILA3'},'Location','EastOutside')
        title('LILA-Zusammenfassung');
        xlabel('Parameter [Einheit]');
         ylabel('-Parameter [Einheit]');
   %Jetzt nur noch als Figur abgespeichern!

 

Das wäre jetzt ein Lösungsansatz von mir.
Ich bin mir sicher es gibt noch schnellere Wege, aber ein Ansatz ist es um dahin zu kommen, wo man hin will.
*viele Wege führen nach Rom Wink

Wenn ihr Ideen habt das ganze schneller zu gestalten, dann immer her damit. Wink

Beste Grüße
Kaen

[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Kaen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 08.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2014, 20:55     Titel: Matlab-Script zum Plotten mehrerer Kurven aus mehreren Datei
  Antworten mit Zitat      
MATLAB – Mehrere Plots in einer Figur


• Erstelle dir ein Script mit der Editor-Funktion in Matlab

• Lade deine Daten in den Current Folder

• Importiere deine Daten: Gehe auf die entsprechende Datei z.B. eine Editor-Datei oder Excel-Datei -> Rechtsklick -> Import Data

• Dort wählst du den gesamten Zahlenbereich aus und klickst Matrix an


• Klick auf den kleinen Pfeil neben Import Section und wähle Import Data aus.

• Diese Daten werden nun in deine Workspace importiert (die Workspace ist deshalb wichtig, da alle Befehle, sowie Variablen-Definitionen, die gemacht werden dort „eingespeichert“ und „abgerufen“ werden.)

• Ein Semikolon ; am Ende eines Befehls im Command Window verhindert, das der Befehl gleich ausgeführt wird.

• Der Befehl „hold on” verhindert, dass Matlab durcheinander kommt, wenn er mehrere Plots innerhalb einer Figur darstellen soll.


• Der Befehl: p1=plot(x1,y1,'.','Color',[0 0 0]);hold on

beinhaltet den Befehl
a)x1 gegen y1 zu plotten
b)Die Messpunkte sind als Punkte dargestellt durch den Befehl '.'
c) mit 'Color',[0 0 0] definiert man die Farbe die dargestellt wird.
d)[0 0 0] ist eine Farbmatrix der Form [r g b] bzw. [rot grün blau] und werden mit Zahlen von 0.0 bis 1.0 angegeben. Zum Beispiel ist [0 0 0]= Schwarz.



• Die Legende wird mit folgendem Befehl ausgegeben:
legend({'Messung1','Messung2','Messung3','Messung4' },'Location','EastOutside')
wobei 'Messung1': Messkurvenbezeichnung die selbst gewählt werden kann
und 'Location','EastOutside': gibt an, wo die Legende plaziert wird, nämlich „östlich“ außerhalb des Diagrammbereichs

• set(gca,'xscale','log'); hold on : gibt an, das die x-Achse logarithmisch dargestellt werden soll; entsprechendes gilt für set(gca,'yscale','log'); hold on.

• xlabel('Variale x [Einheit]'); : hier legt ihr eure Achsenbeschriftung mit Einheit fest



Achtung:
x1,y1,x2,y2,x3,y3,x4,y4 : sind die Variablen die ihr definiert
Test1,Test2,Test3,Test4 : sind die Dateien aus der ihr die Spalte eure Variable definiert
3 und 7 : Spalte 3 (definiert ihr als x) ; Spalte 7 (definiert ihr als y) Sind die Spalten die ihr gegeneinander plotten möchtet


Code:
%Beginn des Matlab-Scriptes

%1.Definition der Variablen [x1,y1,etc.] aus den Dateien [Test1,etc.]

x1=Test1(:,3);
y1=Test1(:,7);

x2=Test2(:,3);
y2=Test2(:,7);
%---
x3=Test3(:,3);
y3=Test3(:,7);
%---
x4=Test4 (:,3);
y4=Test (:,7);
%1.Alle Plots in einer Figur darstellen


figure(1);
   p1=plot(x1,y1,'.','Color',[0 0 0]);hold on
   p2=plot(x1,y1,'.','Color',[0.0 0.0 0.8]);hold on
   p3=plot(x1,y1,'.','Color',[0.4 0.0 0.4]);hold on
   p4=plot(x1,y1,'.','Color',[0.4 0.0 0.0]);hold on
   set(gca,'xscale','log'); hold on
   set(gca,'xscale','log'); hold on
  legend({'Messung1','Messung2','Messung3','Messung4'},'Location','EastOutside')
    title('Zusammenfassung-1');
    xlabel('Variale x [Einheit]');
    ylabel('Variable y [Einheit]');
%   wird als Figur abgespeichert!


Matlab Script zum Plotten mehrere Kurven aus mehreren Dateien.docx.pdf
 Beschreibung:

Download
 Dateiname:  Matlab Script zum Plotten mehrere Kurven aus mehreren Dateien.docx.pdf
 Dateigröße:  54.69 KB
 Heruntergeladen:  847 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.