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

hold off funktioniert nicht

 

metalphony
Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 10.02.2014, 00:20     Titel: hold off funktioniert nicht
  Antworten mit Zitat      
Gute Abend,
ich würde mir gerne einige Messdatenverläufe Plotten lassen. Dazu benutze ich die Subplot Funktion. Im ersten Plot werden 4 Messdaten auf ein mal geplottet im zweiten nur eine. Alle Messdaten befinden sich in einem Ordner. Über die waitforbuttonpress Funktion möchte ich nach einem Klick die nächsten Daten plotten lassen...leider bleiben die vorherigen Plots im Figure sodass es ein Riesen Mischmasch wird. Um das zu vermeiden wollte ich die hold off Funktion verwenden. Aber egal wohin ich das hold off setze, es ändert nix Sad
Ich hoffe ich könnt mir helfen..hier ist mein code:
Code:
path = uigetdir;
cd (path);
data = what(path);
n = length(data.mat);

for i = 1 : n
   
   
   
    load(data.mat{i});
   
   
    MAX_FP(1,1:400)=kennparameter.Maximal_Wert_FP;
   
   
    subplot(2,1,1);
   
    hold on;
   
    plot(gemessene_werte.fp,'b')
   
   
    plot(berechnete_werte.gradient_fahrpedal_vektor_gefiltert,'g');
   
    plot(MAX_FP,'r');
   
    plot([gemessene_werte.ind_FP_groesser_1proz , gemessene_werte.ind_gardient_kleiner_5] , [gemessene_werte.fp(gemessene_werte.ind_FP_groesser_1proz)  , gemessene_werte.fp(gemessene_werte.ind_gardient_kleiner_5 )],'r');
   
    xlabel('Zeit [s]');
    legend('Fahrpedal','Gradient Fahrpedal');
    title(data.mat{i});
   
    subplot(2,1,2);
    plot(gemessene_werte.t,gemessene_werte.laengsbeschl)
   
    xlabel('Zeit [s]');
    legend('Beschleunigung');
   
   
   
   
    w = waitforbuttonpress;
if w == 0
    disp('Button click')
else
    disp('Key press')
end


end
 
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 10.02.2014, 09:24     Titel:
  Antworten mit Zitat      
Ich sehe in deinem Quellcode kein "hold off" - wo wolltest du es denn unterbringen?

Allerdings würde ich in diesem Fall ehr "cla" (Clear current axes) empfehlen, bevor der Subplot neu gezeichnet wird. Evt. musst du noch die passende Figure auswählen, damit definitiv das richtige gelöscht wird.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Code:
bezieht sich immer nur auf das aktuelle Koordinatensystem. Dies gilt übrigens auch für cla.

Auf den ersten Blick würde ich sagen, dass ein "hold off" nach dem title-Befehl kommen sollte.

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

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 10.02.2014, 16:03     Titel:
  Antworten mit Zitat      
Hab schon alle möglichen Positionen für "hold off" probiert, auch nach dem Titel-Befehl. Hat bis jetzt leider noch nix gebracht Sad
Code:
path = uigetdir;
cd (path);
data = what(path);
n = length(data.mat);

for i = 1 : n
   
   
   
    load(data.mat{i});
   
   
    MAX_FP(1,1:400)=kennparameter.Maximal_Wert_FP;
   
   
    subplot(2,1,1);
   
    hold on;
   
    plot(gemessene_werte.fp,'b')
   
   
    plot(berechnete_werte.gradient_fahrpedal_vektor_gefiltert,'g');
   
    plot(MAX_FP,'r');
   
    plot([gemessene_werte.ind_FP_groesser_1proz , gemessene_werte.ind_gardient_kleiner_5] , [gemessene_werte.fp(gemessene_werte.ind_FP_groesser_1proz)  , gemessene_werte.fp(gemessene_werte.ind_gardient_kleiner_5 )],'r');
   
    xlabel('Zeit [s]');
    legend('Fahrpedal','Gradient Fahrpedal');
    title(data.mat{i});
   
    hold off;
   
    subplot(2,1,2);
    plot(gemessene_werte.t,gemessene_werte.laengsbeschl)
   
    xlabel('Zeit [s]');
    legend('Beschleunigung');
   
   
   
   
    w = waitforbuttonpress;
if w == 0
    disp('Button click')
else
    disp('Key press')
end


end
 


Bildschirmfoto 2014-02-10 um 14.52.50.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2014-02-10 um 14.52.50.png
 Dateigröße:  101.43 KB
 Heruntergeladen:  267 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2014, 19:38     Titel:
  Antworten mit Zitat      
Hallo,

probier mal noch, bei hold explizit das Handle anzugeben, also z.B.
Code:
p = subplot(2,1,1)
hold(p, 'on')
...
hold(p, 'off')


Falls das nicht hilft, bitte ein reproduzierbares Beispiel zur Verfügung stellen. Die Daten können gerne zufällig sein.

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

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 10.02.2014, 20:52     Titel:
  Antworten mit Zitat      
so funktioniert es immer noch nicht Sad

Code:
path = uigetdir;
cd (path);
data = what(path);
n = length(data.mat);

for i = 1 : n
   
   
   
    load(data.mat{i});
   
   
    MAX_FP(1,1:400)=kennparameter.Maximal_Wert_FP;
   
   
    p = subplot(2,1,1);
   
    hold (p, 'on');
   
    plot(gemessene_werte.fp,'b');
   
   
    plot(berechnete_werte.gradient_fahrpedal_vektor_gefiltert,'g');
   
    plot(MAX_FP,'r');
   
    plot([gemessene_werte.ind_FP_groesser_1proz , gemessene_werte.ind_gardient_kleiner_5] , [gemessene_werte.fp(gemessene_werte.ind_FP_groesser_1proz)  , gemessene_werte.fp(gemessene_werte.ind_gardient_kleiner_5 )],'r');
   
    xlabel('Zeit [s]');
    legend('Fahrpedal','Gradient Fahrpedal');
    title(data.mat{i});
   
    hold (p,'off');
   
    subplot(2,1,2);
    plot(gemessene_werte.t,gemessene_werte.laengsbeschl)
   
    xlabel('Zeit [s]');
    legend('Beschleunigung');
   
   
   
   
    w = waitforbuttonpress;
if w == 0
    disp('Button click')
else
    disp('Key press')
   
   
   
   
end


end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2014, 21:19     Titel:
  Antworten mit Zitat      
Hallo,

wie gesagt:
Zitat:
Falls das nicht hilft, bitte ein reproduzierbares Beispiel zur Verfügung stellen. Die Daten können gerne zufällig sein.


Grüße,
Harald
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.