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

surf in axes1 von GUI ausgeben

 

Thomson001

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2010, 09:52     Titel: surf in axes1 von GUI ausgeben
  Antworten mit Zitat      
Hallo!

Ich habe ein Problem mit meiner Ausgabe eines 3D plots! Ich habe eine GUI welche auf die serielle Schnittstelle zugreift und mit einer Callback immer wenn was kommt meine Callback durchführt. In dieser Callback steht dann auch der Befehl surf(X,Y,Z) um das 3D Feld auszugeben. Dies funktioniert zwar einwandfrei, man sieht schön wie sich das 3D Feld aufbaut aber in einer eigenen Figure! Ich möchte jetzt aber das sich das 3D Feld in meiner axes1 aufbaut welche ich in meiner GUI habe ausgeben. Ich weis leider nicht wie das funktioniert, irgendwie mit handle glaube ich zumindest??
Bitte um Hilfe, danke im Voraus!!!!!

Lg Thomson001


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.05.2010, 10:13     Titel:
  Antworten mit Zitat      
Hallo,

eigtl sollte ein Blick in die Hilfe von surf dazu reichen Wink
Code:
surf(handles.axes1, X, Y, Z)

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2010, 10:38     Titel: surf in axes1 von GUI ausgeben
  Antworten mit Zitat      
Dann kommt die Fehlermeldung:


??? Undefined variable "handles" or class "handles.axes1".
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.05.2010, 10:52     Titel:
  Antworten mit Zitat      
Hallo,

handles.axes1 steht hier für das Handle des Koordinatensystems in deiner GUI. Es ist der Name, der standardmäßig von GUIDE für das erste Koordinatensystem vergeben wird.
Wenn die Variable handles nicht bekannt ist, gehe ich davon aus, dass die GUI programmatisch erstellt wurde und dazu der Befehl AXES verwendet wurde. Von AXES ein Rückgabeargument zurückholen und handles.axes1 durch dieses Rückgabeargument ersetzen.
Falls das nicht weiterhilft, bräuchte man etwas Code, um zu sehen, woran es liegt.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2010, 11:12     Titel: surf in axes1 von GUI ausgeben
  Antworten mit Zitat      
Also es ist eh mit guide erstellt unten ist der Code:

folgender Code ist in meiner callback für die Ausgabe:

if zeile<=2

[A,J]=meshgrid(0:1:(max(k(1,Smile)-1),0:1:(zeilenanzahl-1));

surf(handles.axes1,A,J,null);
hold on
axis tight
pause(0.00000001)


end

muss ich vielleicht den Befehl get verwenden um handles zu deklarieren???


in der GUI hab ich nix verändert:


function TESTGUI_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to TESTGUI (see VARARGIN)

% Choose default command line output for TESTGUI
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes TESTGUI wait for user response (see UIRESUME)
% uiwait(handles.figure1);
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.05.2010, 11:36     Titel:
  Antworten mit Zitat      
Hallo,

wie sieht denn die Kopfzeile des Callbacks aus / wie wird er aufgerufen?

Bitte bei gomatlab den Code-Button (überhalb des Eingabefelds) verwenden, um Code zu markieren.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2010, 11:43     Titel:
  Antworten mit Zitat      
das ist die erste zeile:


[function mycallback(s,event)][/code]
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.05.2010, 11:46     Titel:
  Antworten mit Zitat      
Na, dann probiers mal mit s.axes1 statt handles.axes1 ...

Falls das nicht funktioniert, probier mal bitte im Debugger Mode
Code:

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2010, 11:55     Titel:
  Antworten mit Zitat      
Wenn ich statt handles, s hinschreib dann kommt die Fehlermeldung:

??? There is no 'axes1' property for serial port objects.

Ich hab jetzt im Dateianhang mal meine m.Files anghängt....[/code]

mycallback.m
 Beschreibung:

Download
 Dateiname:  mycallback.m
 Dateigröße:  4.39 KB
 Heruntergeladen:  425 mal
sensor.m
 Beschreibung:

Download
 Dateiname:  sensor.m
 Dateigröße:  216 Bytes
 Heruntergeladen:  505 mal
TESTGUI.m
 Beschreibung:

Download
 Dateiname:  TESTGUI.m
 Dateigröße:  4.36 KB
 Heruntergeladen:  506 mal
 
Thomson001

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2010, 13:37     Titel:
  Antworten mit Zitat      
Hi ich habe es gerade zum laufen gebracht hat sich schon erledigt danke für die Bemühungen!!!!

Lg Thomson001
 
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.