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

Variablen mit Laufindex in der Schleife beschreiben?

 

rumus001
Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 15.05.2014, 10:16     Titel: Variablen mit Laufindex in der Schleife beschreiben?
  Antworten mit Zitat      
Hallo Leute,

erstmals entschuldigung wenn der evtl. Threadname nicht eindeutig genug ist, mir fällt zu meinem Vorhaben nichts besseres ein. Evtl. kann es ein Administrator bei Bedarf ändern. Ich habe leider auch kein ähnlches Thema bisher hier im Forum gefunden deshalb an dieser Stelle zu meinem Problem:

ich habe eine Schleife die mehrere Variablen
namens LED mit laufendem Index "n" erzeugt und zunächst mit beliebigen 2x2 Matrizen belegt (durch den Befeh magic(2) ):

Code:

ANZAHL = 3;

for n = 1:ANZAHL
     eval(['LED' num2str(n) '=magic(2)']);  % magic(2) ist nur ein Beispiel
end
clear n; % lokale Variable "n" löschen.
 


eine Weitere Schleife soll nach dem der o.g. Code gelaufen ist die einzelnen Variablen LED1 bis LED3 mit bestimmten Werten belegen die wiederum in einer externen fuction erzeugt werden. Die LED Anzahl kann sich beliebig ändern von 3 bis 50 deshalb möchte ich es mit einer Schleife erledigen.
ungefähr so:

Code:

for n = 1:ANZAHL;
     A = LEDn;
     WERT= VERTEILUNG_FUNKTION(A);
end
 


In dieser Schleife muss sich der Laufindex "n" der LED ja immer ändern. Wird er aber nicht weil mir offenbar etwas Syntaxkentnisse fehlen, wie man sieht.

Hat vielleicht jemand eine Idee wie ich mein Problem gelöst kriege?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

das läuft auf dynamische Variablennamen hinaus und ist keine gute Idee, siehe diverse Threads zu eval.

Meine Empfehlung ist stattdessen mit Cell Arrays zu arbeiten:
Code:
ANZAHL = 3;
LED = cell(1, ANZAHL);
for n = 1:ANZAHL
     LED{n} '=magic(2);  % magic(2) ist nur ein Beispiel
end
clear n; % lokale Variable "n" löschen.


Der spätere Zugriff ist ganz bequem:
Code:
for n = 1:ANZAHL;
     A = LED{n};
     WERT= VERTEILUNG_FUNKTION(A);
% oder: WERT= VERTEILUNG_FUNKTION(LED{n});
end


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 15.05.2014, 12:48     Titel:
  Antworten mit Zitat      
Super!!!!!

es funktioniert genau so wie ich es mir ausgedacht habe!
"Cell's" werden wohl meine besten Freunde in der Zukunft... Smile

Vielen Dank Harald
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 - 2024 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.