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

Zugriff auf Handles

 

mr_endres
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 11.06.08
Wohnort: Unterfranken
Version: ---
     Beitrag Verfasst am: 03.03.2010, 13:03     Titel: Zugriff auf Handles
  Antworten mit Zitat      
Hallo,

ich habe eher eine allgemeine Frage.

Über z.B.

Code:

h=findobj(gcf,'-property','LineWidth','-and','-property','MarkerSize')
 


kann ich mit

Code:

set(h,...) bzw. set(h(2),...)
 


auf die Handles zugreifen.

Doch was für Werte stehen in h, was sagen mir die Zahlen ?

MfG
Johannes
Private Nachricht senden Benutzer-Profile anzeigen


Jan*
Forum-Century

Forum-Century


Beiträge: 178
Anmeldedatum: 06.11.09
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 03.03.2010, 13:55     Titel:
  Antworten mit Zitat      
Hi,

die Zahl wird nichts anderes als ein eindeutiger Zeiger auf das Objekt sein, das mit dem handle identifiziert wird.

Wenn du die Eigenschaften des Objekts benötigst, dessen handle du hast, musst du die get Methode verwenden:

Code:


Gruß Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
mr_endres
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 11.06.08
Wohnort: Unterfranken
Version: ---
     Beitrag Verfasst am: 03.03.2010, 14:18     Titel:
  Antworten mit Zitat      
Also die Eigenschaften mit
Code:


zu bekommen ist mir bekannt.

Wenn ich h anzeigen lasse erhalte ich :
Code:

h =

   1.0e+02 *

   1.880010986328125
   1.870010986328125
   1.850010986328125
   1.840010986328125
 


Wenn es ein Zeiger wäre wieso funktioniert dann z.B. nicht

Code:

get(188.0010986328125)
??? Error using ==> get
Invalid handle object.
 
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.03.2010, 14:48     Titel:
  Antworten mit Zitat      
Hallo,

weil wahrscheinlich die Zahl viel länger ist als angezeigt wird und deshalb auf Bildschirm abgerundet.

am besten funktioniert es mit figure, da diese eine Natürliche Zahl als Adresse besitzen.

Code:



weil z.B das hier funktioniert:
Code:

h1 = plot(1:10)
h2 = findobj(gcf,'-property','LineWidth','-and','-property','MarkerSize')
h1
h2
format long
h1
h2

get(h1)
get(h2)
get(1.710100097656250e+002)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
mr_endres
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 11.06.08
Wohnort: Unterfranken
Version: ---
     Beitrag Verfasst am: 03.03.2010, 15:19     Titel:
  Antworten mit Zitat      
danke das hat mir geholfen,

ich hatte auch format long benutzt, jedoch die e+002 weggelassen und den Dezimalpunkt falsch gesetzt Smile ...

MfG
Johannes
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.