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

einzelne signale (im figure) mit check-box anzeigen???

 

Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.04.2010, 22:17     Titel:
  Antworten mit Zitat      
Mehr als Grundlagen von GUIs (und MATLAB, Handle Graphics) steckt in dem Beispiel eigtl. nicht drin...

Wie gesagt... Stichwort "systematische (!) Einführung"...

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen


xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 30.04.2010, 21:52     Titel:
  Antworten mit Zitat      
hi harald,
ich habe so an die 50 signale.
wäre es dann besser beim aktivieren des checkboxes zu plotten und beim deaktivieren zu löschen?
... und noch ne frage du plottest ja gleich am anfang, ich will aber das am anfang nichts angezeigt wird erst dann nur wenn ich die gewünschte checkbox aktiviere.

Code:
x = -1:0.01:1;
plot(handles.axes1, x, x.^2, 'b')
hold on
plot(handles.axes1, x, x.^3, 'g')
hold off

set(handles.checkbox1, 'Value',1);
set(handles.checkbox2, 'Value',1);

axis ([-1 1 -1 1])

handles.output = hObject;


versuche irgendwie visibility anzuwenden
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.05.2010, 09:17     Titel:
  Antworten mit Zitat      
Hallo,

das ist jetzt eigtl nicht sooo schwer:

Code:
x = -1:0.01:1;
plot(handles.axes1, x, x.^2, 'b', 'visible', 'off')
hold on
plot(handles.axes1, x, x.^3, 'g', 'visible', 'off')
hold off

% set(handles.checkbox1, 'Value',1);
% set(handles.checkbox2, 'Value',1);

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.05.2010, 12:37     Titel:
  Antworten mit Zitat      
Noch eine Anmerkung: 50 Signale? Also 50 Checkboxen? ist das nicht ein wenig viel? Und wenn es dir um den Zeitaufwand geht - der sollte nicht so groß sein, dass man deswegen nicht alles auf einmal plotten kann (kommt natürlich auch auf die Größe des Signals an).

Wenn es wirklich 50 Checkboxen werden sollen, böte sich an, entweder die GUI programmatisch zu erzeugen (einer der ersten Posts eines anderen Users zum Thema) oder durch Setzen der Callback-Eigenschaft alle Callbacks auf eine Funktion zu leiten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 02.05.2010, 15:16     Titel:
  Antworten mit Zitat      
so harald hab meine 50 checkboxs und meine signale, war ziemlich mühsam Razz . es wird auch geplottet.
soooo aber ich will mein plot auch zoomen verschieben usw was man so beim plot fenster so alles machen kann. wie kann ich die gleichen menüs in mein fig setzten.
ist das möglich ? also zoom in,zoo out,pan,data cursor.
wenn ja wie muss ich es ergänzen.

danke harald warst ne große hilfe für diese aufgabe
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.05.2010, 16:01     Titel:
  Antworten mit Zitat      
Hallo,

folgende Zeile in der Opening Function einfügen:
Code:
set(handles.figure1, 'menubar', 'figure')

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 02.05.2010, 16:10     Titel:
  Antworten mit Zitat      
danke Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.05.2010, 10:47     Titel:
  Antworten mit Zitat      
guten morgen,
so das war doch keine gute idee alles auf einmal zu plotten Razz da macht matlab ja nicht mit das es ne große datei ist.
ich versuche es jetzt aber einzeln zu plotten durch aktivierung des checkboxes.
für den ersten checkbox:
Code:

plots=plot(handles.zeit,handles.intsignal.geschwindigkeit,'k''visible','off');
switch get(handles.Tgeschwindigkeit, 'Value')
   
    case 0
        set(plots,'visible','off')
    case 1
        set(plots,'visible','on')
       
end
 


für den zweiten checkbox:
Code:

plots=plot(handles.zeit,handles.intsignal.beschleunigung,'k''visible','off');
switch get(handles.Tbeschleunigung, 'Value')
   
    case 0
        set(plots,'visible','off')
    case 1
        set(plots,'visible','on')
       
end
 

wenn ich einzeln aktiviere bekommen ich die signale zur sicht und wenn ich beide aktiviere bekomme ich nur das eine.
mit hold on hab ichs auch versucht. mit hold on bleibt das signale für jede aktivität stehen.
wie kann ich es denn machen.
und wo sollte ich denn noch das xlim([t1 t2])
ylim('auto') einfügen damit ich die signale auch schön vor mir habe
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.05.2010, 12:05     Titel:
  Antworten mit Zitat      
Hallo,

ich würde die xlim/ylim Befehle in die Opening Function schreiben, ggf. dazu noch ein axis manual.
Zudem in die Opening Function noch etwas der Art
Code:
hold(handles.axes1, 'on')


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.05.2010, 12:21     Titel:
  Antworten mit Zitat      
jetzt verschwinden die signale nachm aktivieren nicht mehr.

beim case 1 wenn ich da hold on einfüge, gibts da net sowas wenn man beim case 0 ist dieses hold on aufhebt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.05.2010, 12:33     Titel:
  Antworten mit Zitat      
Hallo,

es gibt schon ein
Code:

aber ich verstehe nicht, dass du das brauchst.

Mal eine andere Frage: wenn die Signale zu groß sind, als dass du sie auf einmal plotten könntest, dann sind sie wahrscheinlich nur sehr lang. Wie wäre es, statt eines 50000x1 - Vektors z.B. nur jede 10. Komponente zu plotten? Statt
Code:

z.B.
Code:
plot(x(1:10:end), y(1:10:end))


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.05.2010, 12:45     Titel:
  Antworten mit Zitat      
hi harald, ja die sind ziemlich lang.
das beispiel was du hochgeladen hast funktioniert bei kleineren daten super.ruckzuck werden die signale dargestellt und deaktiviert.

bei grösseren daten habe ich gedacht das ich das plotten nur beim checkbox durchführe, dann brauche ich ja net umsonst die anderen zu plotten wenn ichs grade net brauche.(um speicherplatz zu schonen)

mein beispiel funktioniert . ich kann die signale alle ansehen durch checkboxes aber halt nur einzeln.wenn ich hinterm case 1 hold on einfüge
werde ich sie danach nicht mehr los, wenn ich mein checkbox deaktiviere Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.05.2010, 12:55     Titel:
  Antworten mit Zitat      
Hallo,

pass doch mal bitte mein Minimalbeispiel, das ich dir geschickt habe, soweit an, und ich schau mir das heute abend dann mal an.

Wie gesagt, eine Alternative wäre auch, nicht die ganzen Datensätze zu plotten, sondern meinetwegen nur jeden 10. oder 50. Wert (immer vorausgesetzt, es handelt sich um einen flüssigen Verlauf und nichts, das wild hin- und herschwingt).

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.05.2010, 13:00     Titel:
  Antworten mit Zitat      
ok danke harald. kannst du mir vllt ne email adresse geben?
dann schick ich dir noch die mat datei dann haste auchn überblick was ich machen will Wink

nochmals danke
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.05.2010, 17:21     Titel:
  Antworten mit Zitat      
hallo harald.
vergleich.fig und vergleich.m habe ich nach deinem beispiel gemacht.funktioniert auch sehr gut für kleine dateien.
vergleichtest.fig und vergleichtest.m funktioniert noch net so gut wie ich es will.
hier die anhänge
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.