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

For Schleife und Variablen Namen

 

mathphys
Forum-Century

Forum-Century


Beiträge: 130
Anmeldedatum: 03.06.11
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 17.07.2011, 00:49     Titel: For Schleife und Variablen Namen
  Antworten mit Zitat      
Hallo

eine Frage zu einzelnen Variablen habe ich doch noch. Folgender Beispielcode ist nicht möglich. Wenn ich die Variablen var_1 bis var_10 habe:

Code:

for z=1:10
disp(var_z);  
end
 


Wie kann ich in einer for Schleife indizierte Variablen ansprechen?

Wenn möglich wäre ich für Tipps mit und ohne Matrix Kalkül dankbar.

Grüsse und habt Dank, dass ihr mir Programmier noob helft matlab zu lernen.
Gute Nacht
_________________

Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
Private Nachricht senden Benutzer-Profile anzeigen


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 17.07.2011, 01:46     Titel:
  Antworten mit Zitat      
Hallo,

Das Probem ist, dass du wohl keine Variable Namens "var_z" deklarierst hasst, die du anzeigen lassen möchtest (10 mal). Um den Laufindex mit in den Variablennamen zu verwenden musst du (wie schon in den anderen 5 Threads gezeigt) den Befehl eval verwenden!!!

Code:

for z=1:10
     eval(['disp(var_' num2str(z) ');'])
end
 

Wie schon gesagt bitte lies dir einmal die Grundlagen von Matlab durch und gewöhne dir die Verwendung von eval gar nicht erst an. Es ist ein, in den meisten Fällen, überflüssiger Befehl der durch bessere Programmierung umgangen werden kann und der wie du ja siehst kompliziert zu verwenden und fehleranfälig ist.

MFG und gute Nacht

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.07.2011, 09:43     Titel:
  Antworten mit Zitat      
Noch zur Ergänzung...

Sind deine Variablen in einem Zeilen- oder Spaltenvektor abgelegt, geht es deutlich einfacher.

Code:

for z=1:10 % oder besser z=1:length(var) = Anzahl der Elemente in var
     disp(var(z)) % z ist die Indexvariable und bestimmt somit das Element in var
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 17.07.2011, 14:05     Titel:
  Antworten mit Zitat      
Hallo DSP,

Das ist aben eben sein Problem, dass er nur eine Menge einzelner Variablen hat, siehe auch seine letzten Threads Smile.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.07.2011, 14:17     Titel:
  Antworten mit Zitat      
Das habe ich verfolgt...mathphys schrieb aber im ersten Post

Zitat:
Wenn möglich wäre ich für Tipps mit und ohne Matrix Kalkül dankbar.


Daher habe ich das noch ergänzt Wink. Es ist aber in jedem Fall das einzig Richtige, sich mit Vektoren und Matrizen auseinanderzusetzen. Das muss man halt lernen...aber es lohnt sich. Es ist ja eine Sache, wenn ich Programme nur für mich selber schreibe. Aber im Beruf ist das ja eher selten der Fall. Es kann ja sein, das mein Programmteil in ein Projekt eingesetzt wird. Oder jemand anderes muss dieses Programm pflegen/updaten...der wird sich dann auch bedanken.

Also mathphys...Augen zu und durch!
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.