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

2 Verläufe gleichzeitig plotten

 

Celina

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 09:58     Titel: 2 Verläufe gleichzeitig plotten
  Antworten mit Zitat      
Hey,

ich will 2 Verläufe auf einem Bild darstellen.
Dazu habe ich es mit

plot(x1,y1,x2,y2)

versucht, klappt aber nicht. Es wird mir nur ein Verlauf angezeigt.


Tom_Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 10:26     Titel:
  Antworten mit Zitat      
Hallo,

das müsste aber so klappen. Warum bei dir nur 1 Verlauf angezeigt wird, kann ich deshalb ohne den kompletten Code zu sehen (also der Code für die Definition der Variablen) nicht sagen. Kopiere mal diesen Code und führe ihn aus:
Code:

x1 = 0:0.1:10;
y1 = x1/4-1;
x2 = 0:0.01:8;
y2 = sin(x2);
plot(x1,y1,x2,y2);

Bei mir werden da beide Verläufe dargestellt.
Kommt bei dir eventuell eine Fehlermeldung?

Gruß Tom
 
Celina

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 10:34     Titel:
  Antworten mit Zitat      
Das klappt.
Vielleicht ist das Problem, weil mein x1,y1 usw. alles 1xvectoren sind?

[EDITED, Jan, Bitte kein Top-Quoting - Danke!]
 
Tom_Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 10:46     Titel:
  Antworten mit Zitat      
Hallo,

also in meinem Beispiel sind x1,y1,x2,y2 auch alles Vektoren.
x1 und y1 sind jeweils ein 1x101 double und x2 und y2 jeweils ein 1x801 double.
Das ist ja auch völlig lögisch, denn bei einem Plot möchte man mehrere y-Werte über ensprechende x-Werte auftragen, die eben in Vektoren gespeichert sind.

Oder was genau meinst du mit "1xvektoren"? Meinst du damit ein 1x1 double? Wenn ja dann ist das ja nur ein Datenpunkt der eben ohne zusätzlich Einstellungen des plot-Befehls als winzinger Punkt dargestellt wird.

Gruß Tom
 
Celina

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 10:56     Titel:
  Antworten mit Zitat      
Habe es etwas blöd erklärt. Dein Vektor ist ein Zeilen-Vektor(1x101 double) usw, meine Vektoren sind Spalten-Vektoren(101x1 double). Ich weiß nicht, ob das eine Rolle spielt

[EDITED, Jan, Bitte kein Top-Quoting - Danke!]
 
Tom_Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 11:07     Titel:
  Antworten mit Zitat      
Hallo,

das spielt keine Rolle.

Code:
x1 = (0:0.1:10)';
y1 = x1/4-1;
x2 = (0:0.01:8)';
y2 = sin(x2);
plot(x1,y1,x2,y2)

Jetzt sind es bei mir auch Spaltenvektoren und sie werden trotzdem dargestellt.

Bekommst du bei deinem Code eine Fehlermeldung bzw. wie sind deine Vektoren genau definiert?

Gruß Tom
 
Celina

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 11:17     Titel:
  Antworten mit Zitat      
Danke Hab eigentlich nichts verändert, aber irgendwie funktioniert es jetzt.

Mal noch eine weitere Frage. Ist es möglich einen code zu schreiben, sodass sich ein Fenster öffnet und ich meine Dateien auswählen kann und die dann direkt in einem plot angezeigt werden?

Im moment muss ich ja meine Dateien erstmal importieren und dann mit plot(...) ausführen
 
Tom_Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 13:03     Titel:
  Antworten mit Zitat      
Hallo,

was genau meinst du mit "Dateien auswählen"? Willst du eben all deine Dateien untereinandere in einem extra Fenster darstellen und dann mit Checkboxen auswählen können? Ich weiß leider nicht, ob es da einen Matlab Befehl gibt oder ob das nur mit GUI's geht.
Du könntest ein M-File schreiben, das alle Dateien in einem Ordner oder die einen bestimmten Namen haben mit Hilfe einer Schleife einlesen, die Daten in x und y (entwerder als Matrix oder Cell-Array) abspeichern und dann mit dem plot Befehl und hold on; mit Hilfe einer weiteren Schleife einzeln plotten/darstellen.

Gruß Tom
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 07.12.2016, 13:17     Titel:
  Antworten mit Zitat      
Hallo Celina,

Eine Meta-Frage: Woher stammt das Top-Quoting, bei dem man die gesamte vorherige Nachricht zitiert? In diesem Forum halbiert das nur die Informations-Dichte, darum ist es unpraktisch. Das wird aber auch erst seit Anfang diesen Sommers gehäuft gemacht. Woher kommt das?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Celina

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 20:10     Titel:
  Antworten mit Zitat      
Hallo Jan,

damit man weißt auf welche Frage hier geantwortet wird Wink

Tom_Gast damit meine ich, ob man irgendwas einfaches programmieren kann, damit das öffnen schneller vonstatten geht. Möchte das nämlich mit vielen Dateien so machen. So muss erstmal meine Dateien auswählen, importieren und dann den plotcode unten eingeben.
 
Tom_Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.12.2016, 10:49     Titel:
  Antworten mit Zitat      
Hallo,

was genau meinst du mit "damit das öffnen schneller vonstatten geht"?. Wie gesagt, dein vorhaben
Datei öffnen - Daten aus Datei einlesen - Daten plotten
kann völlig automatisiert mit Matlab durchgeführt werden. Dafür gibt es spezielle Funktionen wie z.B. textscan . In der Matlab Hilfe (einfach auf den Link klicken) sind gute Beispiele zu finden, die du leicht auf deine Dateien anpassen kannst. Die dann eingelesene Daten kannst du dann einfach mit plot darstellen. Versuch es einfach mal aus und wenn du an einer Stelle nicht mehr weiterkommst, frag einfach nochmal nach.

Gruß Tom
 
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.