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

automatisiert auf Spaltenelemente von Matritzen zugreifen

 

stefanov
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2016, 15:27     Titel: automatisiert auf Spaltenelemente von Matritzen zugreifen
  Antworten mit Zitat      
Hallo zusammen,

ich arbeite neu mit Matlab und habe folgendes Problem leider noch nicht im Forum gefunden.

Code:

Matrix_1=table(1,2,3);
Matrix_1.Properties.VariableNames={'ID' 'Laenge' 'Zeit'};

name=char('Matrix_1');
 


In der Variable 'name' sind meine ganzen Namen der Matrizen drin, die ich später auslesen möchte. Wie kann ich nun über die Variable 'name' auf die Spalten 'ID' der Matrix_1 zugreifen? Ich möchte hierbei über diese Variable gehen, weil ich später einige hundert Matritzen automatisiert einlesen möchte.

manuell wäre das dieser Befehl:
Code:

Matrix_1.ID
 


Ich habe folgendes versucht, was aber nicht funktioniert.
Code:
open(name(1,:).ID)


vielen Dank im voraus!
Stefanov
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: 05.12.2016, 16:52     Titel: Re: automatisiert auf Spaltenelemente von Matritzen zugreife
  Antworten mit Zitat      
Hallo stefanov,

Nach
Code:
name=char('Matrix_1');

steht in der Variablen 'name'nicht "die ganzen Namen der Matrizen drin", sondern name enthält den String 'Matrix_1'. Das char ist hier also überflüssig.

Zitat:
Wie kann ich nun über die Variable 'name' auf die Spalten 'ID' der Matrix_1 zugreifen?

Das ist zwar per eval möglich, aber davon kann man nur herzlich abraten. Indirekt auf Variablen zuzugreifen ist nämlich langsam, fehleranfällig und schlecht wartbar. Als Programmier-Anfänger kommt man oft auf diese Idee und darum findest Du hier hunderte entsrpechende Threads, deren Antwort ist: Mache das nicht.
Die Namen der Variablen sollten grundsätzlich nur Namen von Variablen bleiben und keine Inhalte tragen. Dann ist "Matrix_1" geegnet und Du kannst per "Matrix_1.ID" problemlos darauf zugreifen. (Wobei das "_1" ziemlich nach einem Index aussieht. Falls es auch ein "_2" gibt, verwende lieber ein Array und richtige Indices!)

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.