Ich habe einen Plot mit Subplots. Bei einem Subplot ist die x-Achse z.B. bis 500 in 500 Schritten (Zeitsegmente) während bei einem anderen die x-Achse nur bis z.B. 20s geht, jedoch mit einer Auflösung von 10 Mhz. Die Länge der geplotteten Vektoren variiert also ebenfalls stark.
Mit Linkaxes wird meine "kürzere" x-Achse immer auf die andere Achse skaliert. Weiß jemand eine Möglichkeit die Achsen zu verlinken ohne, dass die Skalierung gleich sein muss?
Ich könnte zwar die Segment-Achse durch die Zeitachse ersetzen, würde das aber wegen Übersichtlichkeitsgründen gerne vermeiden.
danke für deine Antwort und sorry, dass meine Antwort so lange auf sich warten ließ.
ich will prinzipiell schon die gleiche Funktion des Befehls benutzen.
Bei mir ist es nur so:
Ich habe eine Messung mit mehreren Variablen.
Die Variable (Motor-Segmente) hat eine nicht konstante Auflösung, da sie von der Drehzahl abhängt.
Andere Messgrößen, wie strom, spannung etc zeichne ich mit 10 Mhz auf.
Durch Berechnungen erhalte ich einen Plot, der über jeweils ein Segment einen konstanten Wert hat --> Plot mit Segmenten als x-Achse.
Da dieser Plot jedoch auch von den anderen Messgrößen abhängt will ich den Verlauf dieser in einem Subplot darunter plotten. Diesen Plot würde ich, zur Übersichtlichkeit und besseren Nachvollziehbarkeit, aber gerne in Abhängigkeit von der Zeit darstellen.
D.h. ich habe direkt nach dem Plot-Befehl zwei Subplots, die berechnungstechnisch voneinander abhängen, aber die eine x-Achse geht z.B. von 0 bis 30 mit 100000 Punkten und der andere Subplot von 0 bis 1000 mit 1000 Punkten.
mit dem normalen linkaxes wird ja dann normalerweise die Achse von 0 bis 30 auf 0 bis 1000 aufgeweitet, dann stimmt jedoch der Zusammenhang nicht mehr und der eine Plot wird zusammengestaucht, das will ich vermeiden.
Ich habe auch schon versucht eine zusätzliche x-Achse einzufügen, das funktioniert aber leider auch nicht, da linkaxes anscheinend die zusätzliche x-Achse nicht erkennt.
so sieht mein Problem aus:
Code:
% Beispieldaten
time_seg=1:0.5:30;
time_seg(15:end-1)=time_seg(15:end-1)-0.01; % soll variable Zeitabhängigkeit der Segmente darstellen
time_strom=1:0.25:30;
schaltzeit=sin(time_seg).*sqrt(time_seg);
strom=cos(time_strom).^2+3;
hier bräuchte ich dann sozusagen die verknüpfung der x-achsen, dass beim Zoomen die obere 20 auf höhe der unteren 10 bleibt, damit ich sowohl die Zeit als auch das segment ablesen kann, aber bei linkaxes wird der untere plot zusammengeschoben.
ich will prinzipiell schon die gleiche Funktion des Befehls benutzen.
Von welchem Befehl sprichst Du?
Zitat:
Die Variable (Motor-Segmente) hat eine nicht konstante Auflösung, da sie von der Drehzahl abhängt.
Was bedeutet hier genau "Auflösung"?
Zitat:
Durch Berechnungen erhalte ich einen Plot, der über jeweils ein Segment einen konstanten Wert hat --> Plot mit Segmenten als x-Achse.
Ich verstehe nicht, was ein Segment ist. Für die eigentliche Aufgabe spielt die Bedeutung der Zahlen keine Rolle, oder? Für Matlab sind das alles Zahlen.
Zitat:
D.h. ich habe direkt nach dem Plot-Befehl zwei Subplots, die berechnungstechnisch voneinander abhängen, aber die eine x-Achse geht z.B. von 0 bis 30 mit 100000 Punkten und der andere Subplot von 0 bis 1000 mit 1000 Punkten.
Zitat:
mit dem normalen linkaxes wird ja dann normalerweise die Achse von 0 bis 30 auf 0 bis 1000 aufgeweitet, dann stimmt jedoch der Zusammenhang nicht mehr und der eine Plot wird zusammengestaucht, das will ich vermeiden.
Aber das ist doch gerade der Sinn von LINKAXES. Mir wird nicht klar, wieso Du diesen Befehl einsetzen möchtest um etwas zu tun, für das der Befehl nicht da ist.
Bitte erkläre, welche Eigenschaften Du überhaupt wobei verlinken möchtest.
Zitat:
hier bräuchte ich dann sozusagen die verknüpfung der x-achsen, dass beim Zoomen die obere 20 auf höhe der unteren 10 bleibt, damit ich sowohl die Zeit als auch das segment ablesen kann, aber bei linkaxes wird der untere plot zusammengeschoben.
Das verstehe ich nicht. Die oberer 20 auf Höhe der unteren 10?
von linkaxes, dem befehl, den du in deiner antwort davor auch schon gemeint hast.
Zitat:
Was bedeutet hier genau "Auflösung"?
Auflösung bedeutet die zeitliche Auflösung, mit der das Messsignal aufgezeichnet wurde.
Zitat:
Ich verstehe nicht, was ein Segment ist. Für die eigentliche Aufgabe spielt die Bedeutung der Zahlen keine Rolle, oder? Für Matlab sind das alles Zahlen.
Stimmt, die Bedeutung der Zahlen spielt keine Rolle, aber nachdem mein erster Versuch das Problem kurz und knapp zu erklären nicht geklappt hat habe ich es so versucht anschaulicher zu gestalten.
Ein Segment ist ein Bereich über eine bestimmte Zeit, wobei ich bei einem Plot als x-Achse die Segmentanzahl anstatt der Zeit benutze. Daher die unterschiedlichen x-Achsen.
Zitat:
Aber das ist doch gerade der Sinn von LINKAXES. Mir wird nicht klar, wieso Du diesen Befehl einsetzen möchtest um etwas zu tun, für das der Befehl nicht da ist.
Bitte erkläre, welche Eigenschaften Du überhaupt wobei verlinken möchtest.
Zitat:
Das verstehe ich nicht. Die oberer 20 auf Höhe der unteren 10?
Das war die ursprüngliche Frage, da ich den Effekt von Linkaxes (bei zoomen des einen Subplots gleichzeitiges zoomen im andern plot zu gleichem bereich, eben das verknüpfen/verlinken der Achsen) nutzen möchte, aber das eben mit linkaxes so nicht funktioniert. Der Unterschied ist bei mir nämlich der, dass meine x-Achsen unterschiedlich große Bereiche umfassen, die ich aber dennoch miteinander verlinken will.
Das heißt, wenn die eine Achse von 0 bis 10 geht und die andere von 0 bis 20, dann sollen bei den Achsen die 10 und die 20 miteinander verknüpft/verlinkt werden (und verhältnismäßig alle anderen Werte) damit ich beim Hineinzoomen verhältnismäßig/maßstabsgetreu auf den gleichen Bereich in beiden Plots komme.
Vielleicht ist es besser verständlich, wenn man sich die x-Achsen als unterschiedliche Maßstäbe vorstellt, Faktor dazwischen egal, aber >1.
D.h. wenn man in der einen Ansicht hineinzoomt, zoomt man maßstäblich auch in der anderen Ansicht/Achse hinein, aber durch den anderen Maßstab werden nunmal andere maßstäbliche Größen angezeigt, die aber trotzdem mit den ersten Werten zusammenhängen/verknüpft sind.
vg Knygs
Einstellungen und Berechtigungen
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.