Hi
hab ein kleines Problem.
Ich bin grade dabei ein Programm zur Grafischen Darstellung von Messwerten zuschreiben.(Mit einer GUI)
Daten laden => Sortieren => Darstellung Auswählen => Zeichnen
Das funktioniert auch alles super.
Da ich jedoch über 100 Daten Sätze lade und sortiere wird einige Zeit benötigt um dem Benutzter dies anzuzeigen wollte ich nun eine waitbar einfügen.
Jetzt funktioniert mein plot nicht mehr, beim normalen Durchlauf.
Wenn ich jedoch Debug funktioniert er.
Habt ihr eine Idee?
Code:
function draw_grafik(hObject,eventdata)
h= guidata(hObject);
% Zeichnen for k=1:13 hold on;
y=h.Data(w).Muenz(k).SortMess;
plot(h.grafik,vec(k),y,'o','MarkerSize',5,'color','green')
%Achsenbeschriftung (Namen zusammen stellen) if merker ==0 %nur beim erstenmal Ausführen
h.tick(k+1)= {h.Data(w).Muenz(k).Name};
end end
merker =1;
waitbar(w/siFile(1,2))
man kann das ja nicht direkt reproduzieren, also bevor man sich groß Gedanken macht die Rückfrage: WAS funktioniert nicht?
Gibt es eine Fehlermeldung? Wenn ja, welche?
Passiert etwas unerwartetes? Wenn ja, was?
ja sorry hätte ich besser beschreiben sollen.
Es wird nur der letzte plot dargestellt das heißt der letzte (13) schleifen durchlauf von 'zeichnen'.
Alle anderen plots sind weg.
Dieser Fehler tritt auf sobald ich die Waitbar nur erzeuge, und sie noch nichtmal durchlaufen lasse.
Wenn ich jedoch die Schleifen im debug durch laufe funktioniert alles
=> Die Plots und Waitbar
Gruss Fragewurm
_________________
Fehler jeglicher Art Dienen zur allgemeinen Belustigung
wieder die Rückfrage: was funktioniert nicht? Werden die Plots nun gezeichnet, aber das Flackern stört, oder werden sie immer noch nicht gezeichnet?
drawnow sollte erfolgen, wenn die Aktualisierung erwünscht ist. Also z.B. in diesem Fall für jede Datei einmal. Nach jedem einzelnen plot-Befehl ist hier vielleicht zuviel des guten.
Versuche auch, den hold-Befehl aus der Schleife rauszubringen, z.B. so
Die waitbar hat auch eine Achse und ich vermute mal, dass hold on sich in Deinem Beispiel auf die falsche Achse bezieht. Beim debuggen kann es passieren, dass Du das richtige Fenster irgendwie angeklickt hast und es dadurch aktiv wurde (und damit hold on richtig zugewiesen wurde).
Du hast voll ins Schwarze getroffen LittleX.
Danke für eure Hilfe
Gruss Fragewurm
_________________
Fehler jeglicher Art Dienen zur allgemeinen Belustigung
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.