Verfasst am: 15.04.2013, 21:11
Titel: plot: slider mit zeitwerten
Hallo miteinander,
ich hänge leider an einem Problem, und komme nicht weiter... vielleicht hat ja wer eine Idee...
Ich suche nach einer Lösung an einen Plot einen Slider anzufügen (soweit klar) und die x-Achse soll Zeitwerte haben (alleine auch klar). Nur leider kriege ich die Kombination nicht hin...
OK... ich verstehe es, dass er NaN nicht hochzählen kann und denke das dies der Wert in "S" für den Callback ist... soweit richtig?
...wie kriege ich es hin, dass mir bspl. 10min abgezeigt werden und ich dann in 10min schritten weiter laufe?
...gibt es eine Möglichkeit, dass ich aus dem Plotfenster die Schrittweite bzw. den aktuellen Ausschnitt verändere (statt 10min nur 1min oder 60min?) (sowas wie zoom also...)?
Warning: Out of range or non-integer values truncated during conversion to character.
> In test_Timeplot at 18 Error using set(gca,'xlim',get(gcbo,'value')+[0]) Error: This statement is incomplete.
würde es gerne mit einer Funktion ersetzen (danke für den Tipp), aber bin mir nicht so ganz im klaren drüber, was die zurück geben muss...
in S gibt der Wert das Ende des am Anfang dargestellten bereichs an, oder???
in der uicontrol ist es ja das Ende des insgesamt dargestellten Bereichs, oder??
...ich kann die werte ja problemlos in Millisekunden oder per datenum() umwandeln, aber welche Werte kann ich nehmen, bzw. wie mache ich matlab dann klar, dass es zeitwerte sind?
->Momentan wird mir sofort der komplette Graf (00:00:00-06:00:00) angezeigt und wenn ich den slider benutze ist der rest weiß. -Ziel wäre genau das zu ändern, sodass ich nur z.B. 10min jeweils sehe.
(muss am Ende 24h in einen Plot packen und dort werte auslesen die teilweise aber nur wenige Sek. da sind. =>ich kann die 24h unmöglich auf einmal darstellen, sondern würde gerne stückweise "durchfahren" können...)
beim uicontrol war es mein Fehler... hab ich wieder rausgenommen
Zitat:
Grundsätzlich ist mir noch nicht klar, wie du dir die Abbildung von Wert des Sliders zu geplotteten Datenbereich vorstellst.
...an sich ganz einfach - ich hätte gerne als x-Achse Zeiten im Format HH:MM:SS (ggf. HH:MM:SS:FFF) angezeigt.
sprich wenn der Plot aufgeht hätte ich gerne 00:00:00 bis 00:10:00 dargestellt und alles weitere kann man dann mit dem Slider sichtbar machen.
(Hübsch wäre noch wenn ich dann ""zoomen"" könnte, sodass doch nicht 10min angezeigt werden, sondern z.B. 00:00:00 bis 01:00:00, aber das ist der 2.Schritt...)
->zwecks der Funktion reden wir glaub ich aneinander vorbei....
Ich hatte es so verstanden, dass du mir empfehlst dort eine Funktion einzusetzen, die mir den richtigen Wert zurückgibt, aber das hast du wohl anders gemeint...?
hier mal das alternative Bspl. mit normalen Zahlen statt Zeiten, welches ich mir zusammen gebastelt/gesucht habe:
Code:
numberValues = 100;
stepSize = 10;
x=0:stepSize:((numberValues*stepSize)-1);
%nur 0 oder 1
y=rand(1,numberValues);
y(y>.5)=1;
y(y<=.5)=0;
Nun möchte ich diesen Code so erweitern, dass ich nicht die Zeit von 00:00:00 - 00:30:00 sehe, sondern nur beispielsweise die ersten 5min und für den Rest einen Slider habe, sodass ich mir immer 5min Stückchen anschauen kann.
Da muss es doch einen Trick geben, dass das funktioniert oder?
die ~ bedeuten, dass diese Eingabeargumente nicht verwendet werden. Genausogut könntest du a und b hinschreiben. Benötigt werden sie jedoch, damit die Funktion als Callback-Funktion verwendet werden kann.
Verfasst am: 23.04.2013, 13:55
Titel: subplot mit einem Slider steuern
....jetzt muss ich doch noch einmal nachfragen...
Ich hatte gehofft, dass ich den Sprung jetzt selbst schaffe, aber leidere scheitere ich schon wieder und weder die foren suche, noch google hilft...
Ich will mit diesem einen Slider mehrere Plots (subplots) steuern. Also auch jeden Subplot wird die gleiche x-Achse kommen und dann will ich mit einem Slider gleichzeitig alle plots bewegen können...
habe den Ansatz von Harald mal wie folgt erweitert:
...wie auch immer ich es versuche, es steuert nur einen plot, aber nicht die beiden anderen.
(Alles was ich schaffe ist matlab mit meinen Versuchen regelmäßig zum abstürzen zu bringen, aber nicht das mehere plots gesteuert werden...)
klingt logisch und funktioniert auch!!! (...eigentlich)
DANKE!! - DANKE!! - DANKE!! schon einmal!!!
...hab nur leider das Problem, dass es sehr "absturz-freudig" ist und habe noch keine Idee, wie ich das umgehen kann...
(dachte erst das mein Matlab nen Problem hat, aber auch nach nem update auf 2013a (=neuinstallation) ist es nicht weg... )
...es verhält sich recht komisch - ich kann bspl. im Editor noch arbeiten und speichern, doch im CommandWindow kann ich nix mehr tun und auch das schließen von matlab geht ohne taskmanager nicht
...hab jetzt festgestellt, dass wenn ich im commandWindow mit "Strg+C" den letzten Vorgang abbreche, ich eine Fehlermeldung erhalte die seeeehr lang ist....
hier mal der Anfang
Code:
Operation terminated by user during dateTickPicker>localGetExtentHG1 (line253)
In dateTickPicker (line206)
extent = localGetExtentHG1(formlen,format,ax,axh,dateInd,axPos);
In datetick>bestscale (line293) [labels,format] = dateTickPicker(axh,[xmin,xmax],dateform,dateChoice,axVal);
In datetick(line260) [dum,dateform] = bestscale(axh,ax,min(ticks),max(ticks));%#ok
In correlationVisualisation>update (line129) datetick(p(I), 'x', 'keepticks')
->Für mich sieht es so aus, als würde er die figure aus irgendwelchen Gründen nicht schließen, wenn ich das Fenster zu mache - kann das sein?? und wenn ja, wie kann ich sicherstellen, dass es zu geht und matlab nicht weiter im callback hängt??
(kenne ähnliche Probleme aus java beim Datei lesen/schreiben - ist aber nur eine reine Vermutung... - so schlau werde ich aus der Fehlermeldung leider nicht... )
verstehe ich auf den ersten Blick auch nicht. Vor allem kann ich es nicht reproduzieren. Ich weiß also erst mal auch nicht weiter.
Grüße,
Harald
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.