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

Frage zu globale Variablen

 

asphalt
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 07.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2010, 09:56     Titel: Frage zu globale Variablen
  Antworten mit Zitat      
Hallo Experten

Ich habe noch nicht so recht kapiert, warum globale variablen nicht so sinvoll sind.
Wird dadurch der Code langsamer ausgeführt, oder wo liegt das Problem?

Danke
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

das Problem liegt in der Nachvollziehbarkeit, insbesondere bei größeren Projekten.
Normalerweise ist es so, dass eine Variable nur in einem Workspace existiert. Wenn man also beim Debuggen feststellt, dass der Wert der Variablen inkorrekt ist, kann man sich beim Debuggen auf das entsprechende Programm konzentrieren.
Wenn eine Variable global ist und damit in mehreren Programmen zugegriffen (und auch verändert) werden kann, kann der Fehler in all diesen Programmen liegen.

Es spricht in Einzelfällen nichts dagegen, eine Variable mal als global zu definieren, allerdings sollte man dann beim Programmieren besonders sorgfältig sein. Was ich um jeden Preis vermeiden würde ist eine Vielzahl globaler Variablen, aus oben genanntem Grund.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 07.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2010, 16:32     Titel:
  Antworten mit Zitat      
Hallo Harald

Danke für deine Infos.
Was ich noch gerne wissen wollte ist, ob der Code mit vielen globalen Variablen langsamer abläuft.

Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 07.12.2010, 17:44     Titel:
  Antworten mit Zitat      
Hallo asphalt,

Nein, die Unterschiede zwischen GLOBALs und lokalen Variablen sind vernachlässigbar. Es gibt ein Unterschiede, wenn eine globale Variable den ganzen zur Verfügung stehenden Speicher belegt, aber dann ist man mit Matlab so oder so in Schwierigkeiten.

Die Laufzeit ist also bei GLOBALs nicht ausschlaggebend. Die Zeit, die man zum Debuggen braucht steigt dagegen exponentiell mit der Anzahl globaler Variablen. Wenn 3 GUIs und ein Timer auf 20 GLOBALs zugreifen, liegt die Debug-Zeit etwa beim doppelten Alter des Universums.

Gruß, Jan
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.