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

Timeseries Daten in Matrix umwandeln innerhalb Schleife

 

Filip92
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 19.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.08.2018, 12:16     Titel: Timeseries Daten in Matrix umwandeln innerhalb Schleife
  Antworten mit Zitat      
Hallo zusammen,

ich stecke zur Zeit an folgendem Problem fest. Ich habe Timeseries Daten a_1 bis a_36 und diese will ich in Matrizen umwandeln. Das schaffe ich mit der folgenden Operation.

a_1 = [a_1.time a_1.data]
...
a_36 = [a_36.time a_36.data]

Nun will ich das aber automatisch innerhalb einer Schleife für alle 36 Fälle ausführen lassen. Hier weiß ich nicht richtig weiter.

Dank im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.08.2018, 12:51     Titel:
  Antworten mit Zitat      
Hallo,

durchnumerierte Variablen sind generell keine gute Idee, eben weil es schwierig zu automatisieren ist. Meine Empfehlung wäre stattdessen Cell Arrays. Dann sähe das so aus:

Code:
for k = 1:36
a{k} = [a{k}.time a{k}.data]
end


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Filip92
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 19.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.08.2018, 14:23     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für die schnelle Antwort und deine Hilfe! Werde die Cell Arrays in meinem Modell verwenden!

Gäbe es trotzdem eine Möglichkeit durchnummerierte Variablen zu automatisieren? Würde mich auch interessieren, wie man das macht!

Vielen Dank!

VG, Filip
Private Nachricht senden Benutzer-Profile anzeigen
 
J0nas
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 10.09.15
Wohnort: ---
Version: ab 2016a
     Beitrag Verfasst am: 07.08.2018, 14:26     Titel:
  Antworten mit Zitat      
Hallo Filip,

ja das geht theoretisch über assignin oder eval . Lass davon aber lieber die Finger weg, solange sich das verhindern lässt...

Grüße
Jonas
_________________

1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable

Zuletzt bearbeitet von J0nas am 07.08.2018, 14:46, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.08.2018, 14:27     Titel:
  Antworten mit Zitat      
Hallo,

es gibt die Möglichkeit, das mit eval zu machen. Der Code wird dadurch allerdings schwer lesbar und schwer zu debuggen.

Das wäre z.B. der Code, um Variablen a1 bis a5 mit den quadrierten Werten 1 bis 5 zu erstellen.
Code:
for k = 1:5
    eval(['a' num2str(k) '= k^2;'])
end
 

Gruslig, oder?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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: 10.08.2018, 17:44     Titel:
  Antworten mit Zitat      
Hallo Filip92,

Du findest zu eval hunderte Thread in diesem Forum. Die Antworten sind immer die gleichen: Einen Index im Namen einer Variablen zu verstecken, ist eine sehr schlechte Idee. Man erzeugt damit mehr Probleme, also man löst.

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.