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

Graphen addieren bzw verschmelzen

 

Heiede
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 30.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.09.2012, 18:16     Titel: Graphen addieren bzw verschmelzen
  Antworten mit Zitat      
Hey Leute hab folgendes Problem,
ich will mehrer Graphen addieren, bzw aus ihnen einen Plot machen. Ziel ist es den Einfluss eines Graphen auf das Gesamtbild dann zu sehen. Da sie jeweils unterschiedliche x-Werte haben, bzw ich sie auf der x-Achse verschieben will weiß ich nicht wie ich das bewerkstelligen soll. Nacheinander zu Plotten ist ja kein Problem. Nur will ich ja eigentlich nur eine einzige Kurve. Zudem ist der Befehl hold on nervig, da die Graphen "Schlieren" nachziehen wenn man sie verschiebt.
Danke!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.09.2012, 17:34     Titel: Re: Graphen addieren bzw verschmelzen
  Antworten mit Zitat      
Hallo Heiede,

Was genau sind "Graphen"? Was bedeutet "addieren" hier? Und was verstehst Du in diesem Fall unter "einen Plot machen"?

Zitat:
...bzw ich sie auf der x-Achse verschieben will weiß ich nicht wie ich das bewerkstelligen soll. ... . Zudem ist der Befehl hold on nervig, da die Graphen "Schlieren" nachziehen wenn man sie verschiebt.

Mir ist nicht klar, ob Du nun nicht weißt, wie man sie verschiebt, oder ob Du es bereits hinbekommst, aber mit dem Ergebnis nicht zufrieden bist. In letzterem Fall weiß ich nicht, was das mit "hold on" zu tun hat. Aber falls es wirklich stört, lass es doch einfach weg.

Bitte erkläre das Problem nochmal und denke daran, dass wir keine Ahnung haben, was Du eigentlich machst. Ein "Graph" kann auch ein Baum sein, eine 3D-Polytop oder ein komplexes Diagram. Wenn Du bereits Code-Fragmente hast, wäre es sinnvoll, diese ebenfall zu posten. Es ist immer einfach bestehenden Code zu verbessern als eine Lösung vollständig neu zu implementieren.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Heiede
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 30.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2012, 22:44     Titel:
  Antworten mit Zitat      
Hey Jan,
danke dür die Antwort. Ich füge mal einen Screen im Anhang an vll wird es dann deutlicher. Anstatt der vielen einzelnen Graphen hätte ich gerne einen einzigen. Mein Code ist eigentlich erstmal nicht spektakulär da ohne Farbe und sonstiges.
Code:

plot(handles.axes8, x1, y1);
hold on
plot(handles.axes8, x2, y2);
hold on
plot(handles.axes8, x3, y3);
hold on
plot(handles.axes8, x4, y4);
hold on
plot(handles.axes8, x5, y5);
hold on
plot(handles.axes8, x6, y6);
hold on
plot(handles.axes8, x7, y7);
xlim([0 24]);
grid
xlabel('Uhrzeit')
ylabel('Verbrauch in Kwh')
 

Deswegen auch die Probleme mit dem hold on, da wenn ich nun einen Graphen verschiebe der vorherige ja bestehen bleibt und somit die Anzahl bei jedem verschieben mehr wird.
Grüße Heiede

Diagramm.JPG
 Beschreibung:

Download
 Dateiname:  Diagramm.JPG
 Dateigröße:  20.23 KB
 Heruntergeladen:  860 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Fussel
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 20.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 11:59     Titel:
  Antworten mit Zitat      
Hi Heiede,

verstehe ich das jetzt richtig, du hast mehrere x-Werte (x1, x2 x3...) mit deren dazu gehörigen y-werten(also x1 entspricht mehreren x-werten, quasi x1=[1 2 3 4...]) und willst die Grafen jetzt überlagern oder willst du sie als einzelne Funktion darstellen??? Beim ploten kannst du ja auch alles in ein plotbefehl reinhaun ohne hold on

Code:
plot(x1,y1,x2,y2,x3,y3,.....);
xlim([0 24]);
grid
xlabel('Uhrzeit')
ylabel('Verbrauch in Kwh')
 


oder wie schon erwähnt du machst aus allen x- und y- werten jeweils eine Matrix.

Code:
x=[x1,x2,x3];
y=[y1,y2,y3];
plot(x,y)


Das problem bei dem letzten ist jetzt nur dass er den letzten wert von x1 mit dem ersten von x2 verbunden wird, und weiß eben nicht exakt wie du das nun haben willst. Denke mal das was ich als erstes erwähnt hab kommt deinen Ansprüchen am nähesten. Ansonsten nochmal schreiben falls du was anderes meinst.

MfG
Fussel
Private Nachricht senden Benutzer-Profile anzeigen
 
Heiede
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 30.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 12:45     Titel:
  Antworten mit Zitat      
Danke für die Antwort Fussel.
Das mit den X und Y Werten stimmt soweit.
Ein Beispiel:
x1 und y1 steht für einen Kühlschrank,x2 und y2 für einen Fernseher.Wären ja 2 Graphen, allerdings hätte ich die beiden gerne als einen Graphen da sie ja zusammen den Gesamtverbrauch darstellen. Was mir gerade einfällt, gibt es einen Befehl der automatisch die Fläche unter dem Graphen farbig macht?Dann würde man ja die mit kleineren y-Werten nichtmehr sehen.
Gruß Heiede
Private Nachricht senden Benutzer-Profile anzeigen
 
Fussel
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 20.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 13:46     Titel:
  Antworten mit Zitat      
Achso also du hast quasi sagen wir mal als beispiel folgende daten:
Code:
y1=[0 1 2 3 2 1 0];
y2= [0 2 4 6 4 2 0];
x1 = [ 1 2 3 4 5 6 7];
x2=x1;%Ich gehe hier mal davon aus, dass du die Werte imer zu bestimmten Zeiten gleichzeitig ermittelt hast ;)
 

Dabei stellen dann die y-Werte den Verbrauch da und die x-Werte zu welcher Uhrzeit das war. und jetzt willst du den Gesamtverbrauch für jede Std haben?? Also das quasi die einzelnen y-Werte zusammen addiert werden?? Da musste meiner Meinung nach doch einfach nur sagen, dass deine y Werte zusammen einen Wert ergeben sollen.
In diesem einfachen Beispiel also nur:
Code:

Vorraussetzung dafür ist natürlich, dass sie(die Matritzen) die gleiche Länge haben.
Hoffe das hilft dir weiter ^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Heiede
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 30.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 14:22     Titel:
  Antworten mit Zitat      
Danke für die schnellen Antworten Fussel Wink
Alles was du sagst is korrekt, das Problem ist nur das ich die Y-Werte mithilfe von Slidern auf der X-Achse verschieben kann. Somit muss ich immer die Y-Werte zusammen mit den zugehörigen X-Werten plotten.(Siehe Post #1)
Somit würde das verschieben ja dann keine Wirkung haben. Oder hab ich irgend einen Denkfehler drin? Very Happy
Mfg Heiede
Private Nachricht senden Benutzer-Profile anzeigen
 
Fussel
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 20.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 14:35     Titel:
  Antworten mit Zitat      
kein ding Wink

Also ich fasse nochmal zusammen: Du hast mehrere Datenkurven und du willst sie alle als eine Art Gesamtkurve zusammen haben, jedoch willst du auch einzelne Kurven Verschieben und dann schauen wie sich die Gesamtkurve dadurch verändert. Soweit richtig?? Wenn ja dann tut es mir leid, dann bin ich mit meinem noch minimalistischen Kenntnissen zu Matlab leider am Ende, vllt findeste noch wen anderes der da etwas mehr Ahnung hat.
Wenn nein dann bin ich grade irgendendwie zu doof das problem zu schnallen Very Happy

MfG
Fussel
Private Nachricht senden Benutzer-Profile anzeigen
 
Heiede
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 30.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2012, 15:32     Titel:
  Antworten mit Zitat      
Fussel ich würde sagen du hast es genau auf den Punkt gebracht.
Genau das ist mein Problem auf das ich leider noch keine Lösung hab.
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.