Wie der Titel verrät, will ich gerade ein Apfelmännchen erstellen. Meine erste Frage lautet: wie kann man das grafisch am besten realisieren? Ich bin ein Matlab Frischling und kenne nicht alle Möglichkeiten, auf jedenfall habe ich nicht so was wie ein Canvas gefunden, in dem man zeichnen könnte. Deswegen geht mein Umweg zZ über ein Axes. Hier ist mein bisheriger Code, allerdings verursacht der nur, dass Matlab sich aufhängt^^ Könnt ihr mir bitte sagen, wo mein Fehler liegt, der Matlab aufhängt?
Hier ist mein bisheriger Code, allerdings verursacht der nur, dass Matlab sich aufhängt
Bitte poste die Fehlermeldung und die betreffende Zeile.
Gruß, Jan
Mampfgnom
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.11.2010, 08:13
Titel:
Hallo.
Entschuldige bitte, dass ich den Fehler vergessen habe, sollte eigentlich selbstverständlich sein. Also:
Das erhalte ich beim Start der GUI:
??? Reference to non-existent field 'output'.
Error in ==> untitled>untitled_OutputFcn at 25
varargout{1} = handles.output;
Error in ==> gui_mainfcn at 265
feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles);
Error in ==> untitled at 16
gui_mainfcn(gui_State, varargin{:});
Wenn ich auf danach auf den PushButton in der GUI drücke, hängt er sich scheinbar auf. Ich kann meine GUI zwar noch schließen, aber danach reagiert Matlab auf nichts mehr.
Woher soll die Variable "handles.output" denn stammen?
Du könntest den Debugger verwenden, um Dir den Struct "handles" anzuschauen, wenn der Fehler auftritt:
Ich kann meine GUI zwar noch schließen, aber danach reagiert Matlab auf nichts mehr.
Das ist ausgesprochen ungewöhnlich in Matlab. Bringt auch Ctrl-C nichts?
Gruß, Jan
Mampfgnom
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.11.2010, 12:42
Titel:
Hallo Jan.
Danke, dass du dich meines Problems annimmst. Strg + C hilft und bringt folgende Meldungen:
??? Operation terminated by user during ==> untitled>pushbutton1_Callback at 45
In ==> gui_mainfcn at 96
feval(varargin{:});
In ==> untitled at 16
gui_mainfcn(gui_State, varargin{:});
In ==> guidemfile>@(hObject,eventdata)untitled('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
??? Interrupt while evaluating uicontrol Callback.
Wie ich die Zeile "dbstop if error" einbinden muss weiß ich leider nicht.
Nur noch mal zum Verständniss: Ich habe eine GUI mit GUIDE erstellt. Parallel dazu wird ein M-File erzeugt. In diesen M-File habe ich meinen Code geschrieben. Von daher wundert es mich auch, dass Matlab Probleme mit dem handles.output hat, weil das ein standardmäßig erzeugtes Code Schnipsel ist.
Dies wird einfach ins CommandWindow eingetippt.
Du kannst auch einen BreakPoint im Editor in die entsprechende Zeile setzen (kleine rote Punkt links vom Text).
Oder im Editor den Menüpunk öffnen:
Debug->Stop if Error/Warnings->Tab:Erros->RadioButton:Always stop if error
Aber das letztere ändert sich bisweilen zwischen den Matlab-Versionen. Darum bevorzuge ich das einfache "dbstop if error".
Gruß, Jan
Mampfgnom
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.11.2010, 14:51
Titel:
Hallo.
Ich habe den dEbugger jetzt bei Fehlern anhalten lassen. Das erste mal hält er bei folgender Zeile an (also ein grüner Pfeil ist zu sehen):
varargout{1} = handles.output;
Wenn ich danach meinen Code mit Strg + C abbreche springt der Debugger weiter und setzt einen neuen grünen Pfeil bei:
Hast Du Deinen "handles"-Struct angeschaut und festgestellt, wieso das Feld ".output" gesucht, aber nicht gefunden wird? Ich würde erstmal ein Problem lösen, bevore ichdas nächst angehe.
Gruß, Jan
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.