|
|
Übernehmen von Sequenzen aus einem Variablennamen |
|
mou551 |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 25.08.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2016, 13:33
Titel: Übernehmen von Sequenzen aus einem Variablennamen
|
 |
Moin,
ich habe folgende Problem:
ich habe meine Variablennamen mit Indize abgespeichert. Jetzt möchte ich beim Einlesen des Datensatzes einmal den Variablennamen eingeben und bei der Datenausgabe möchte ich, das der Indize von dem eingelesenen Variablennamen übernommen wird.
was ich haben möchte ist:
Funktion ohne Link?
kennt dafür jemand eine Lösung wo ich am Ende keinen Cell Array bekomme?
(Die Eval Funktion hat bei mir dann ein Cell Array erzeugt)
Gruß Moritz
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 22.09.2016, 17:07
Titel: Re: Übernehmen von Sequenzen aus einem Variablennamen
|
 |
Hallo mou551,
Indizes haben in den Namen von Variablen nichts verloren. Wenn man mit komplizierten Methoden solche Variablen erzeugt, ist man gezwungen noch kompliziertere Methoden zu verwenden, um sie später wieder zu benutzen.
Die Lösung klingt trivial: Verwende Indizes als Indizes! :-)
Nimm entweder numerische Arrays, wenn alle Variablen den gleichn Typ und die gleiche Größe haben, oder Cell-Arrays wenn nicht.
Um das nachvollziehen zu können, müsstest Du den entsprechenden EVAL-Befehl posten. Aber auch dann wäre die Lösung die gleiche: Vermeide EVAL und Indizes in Namen.
Zu diesem Thema findest Du übrigens hunderte Threads in diesem Forum. Suche mal nach EVAL und ASSIGNIN, denn beide Befehle zeugen von Anfängerfehlern beim Programmieren.
Viele Grüße, Jan
|
|
|
mou551 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 25.08.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.09.2016, 09:06
Titel:
|
 |
Moin,
also mein Code war:
ABER SO EINE LÖSUNG WILL ICH NICHT!!!!
Aber ich bin sicher , dass dieses Problem nicht so schwer zu lösen ist, wenn man das Problem einfach annehmen würde.
Man muss doch den Variablennamen dat_1 in einem String zwischenspeichern können und dann unten wieder als char oder sowas einfügen.
Grüße
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 26.09.2016, 17:27
Titel:
|
 |
Hallo mou551,
Was gefällt Dir an der "Lösung" nicht?
Aus der Sicht einer sauberern Programmierung hat sie dan gravierenden Nachteil, dass zuerst überhaupt Variablen mit einem Index im Namen auftauchen. Wie schon erwähnt ist das ein typischer Anfängerfehler. Ein Programm, dass auf solche Methoden aufbaut, löscht man am besten und schreibt es sauber neu, wobei gleich von Anfang an Indices als Indices verwendet werden.
Alle Versuche sich mit EVALs durch den Code zu mogeln scheitern früher oder später an Undurchsichtigkeit, unvorhersehbaren Bugs und fehlender Wartbarkeit.
Viel erfolg, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|