Die im Editfeld, vom Slider übergebenen Werte (1-1000) werden dem Popup-Menu übergeben und anschließend über Switch - Case Abfrage die jeweilige Funktion ausgeführt:
Bsp:
Code:
function filterpopup_Callback(hObject, eventdata, handles) ... switch(str{val}) case 'Moving Average'
window = maske;
h = ones(window,1)/window;
y = filter(h, 1, x);
plot(y) title('moving average')...
ich habe nun den Tip bekommen, einfach die kompette Callbackfunktion, sozusagen ins Editfeld zu packen, sodass jeder Plot direkt bei neuer Parametereingabe ausgeführt wird (ich habe es bisher noch nicht gemacht).
Eine Frage hätte ich jedoch noch. Ich würde mir gerne eine Checkbox mit einer Funktion x basteln, die zusätzlich zu einer Auswahl an weiteren Funktionen per Popupmenü geplottet werden soll wenn die Checkbox aktiviert wurde. Das soll also folgendermaßen aussehen:
Code:
%Ausschnitt
function checkbox_Callback(hObject, eventdata, handles) ifget(handles.checkbox,'Value')==1
Also generell soll also nichts anderes getan werden als in den gleichen axes eine Funktion xo zusätzlich zum gewählten Popup (y) zu plotten (überlagern). Das Problem ist jedoch, das es mir nicht möglich ist bei Parameteränderung des Popupbefehls die zuvor geplottete Funktion zu resetten ohne das xo gelöscht wird. Andersherum wäre es mit hold on zwar möglich bei Parameteränderung xo beizubehalten, jedoch plotte ich ständig y neu und das vorherige y bleibt in den axes erhalten ohne das dieses gelöscht wird.
Was mir also kopfzerbrechen bereitet, ob es irgendwie eine Möglichkeit gibt, falls die Checkbox aktiviert ist, xo zu plotten und mit y immer nur einmal zu überlagern, auch bei Parameteränderung?
Die Frage konnte ich nicht anders formulieren. Dabei habe ich gesehen, dass ich wohl einfach nur das hold on/hold off falsch gesetzt hatte.
Also nun passt es soweit - in der Hoffnung der Tip mit der Übergabe einer Callbackfunktion klappt, sodass das Popupmenü direkt auf neue Eingaben des Sliders oder des Editfeldes reagiert.
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.