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

y = load('data.mat', 'x'); --> Inhalt aus x in y speicher

 

Dr. Nasenbär
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 30.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2014, 10:26     Titel: y = load('data.mat', 'x'); --> Inhalt aus x in y speicher
  Antworten mit Zitat      
Hallo Zusammen,

folgende Frage: Ist es möglich, den Inhalt einer Variablen aus einem .mat File direkt in eine andere Variable abzuspeichern, ohne das ein struct erzeugt wird.

z.B.
y = load ('data.mat', 'x');

d.h. Die Variable x ist ein 1000x1 double Array. Dieses möchte ich aus dem data.mat File laden und den Inhalt der Variable x in y speichern.

Gibt es dazu eine Möglichkeit?

Grüße
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: 17.06.2014, 22:50     Titel: Re: y = load('data.mat', 'x'); --> Inhalt aus x in y spei
  Antworten mit Zitat      
Hallo Dr. Nasenbär,

Was spricht dagegen genau den geposteten Code zu verwenden?
Code:
y = load ('data.mat', 'x');


Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr. Nasenbär
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 30.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2014, 09:00     Titel:
  Antworten mit Zitat      
Das Problem ist folgendes: Bei der Variablen x handelt es sich um eine abgetastete Variable, die je nach Abtastzeit eine unterschiedliche Endung des Variablennamens hat.

beispielsweise:
x_10ms oder x_100ms

d.h. meine Funktion würde dann so aussehen:
y = load('data.mat', 'x*');

Aus diesem Grund würde ich den Inhalt von x* gerne in y kopieren, sodass ich dann mit der Variablen y weiterarbeiten kann. Bei dem Code kann ich auf die Variable x nur zugreifen, in dem ich über das struct zugreife (bsp: y.x_10ms). Die Endung kenne ich aber im vornherein noch nicht. Mit dem *Operator funktioniert das aber nicht (bsp: y.x*).

Hoffe es ist halbwegs verständlich

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.06.2014, 09:58     Titel:
  Antworten mit Zitat      
Hallo,

mit
Code:

kannst du dir die Inhalte von y anzeigen lassen und damit weiterarbeiten.

Also z.B.
Code:
f = fieldnames(y);
z = y.(f{1});


Sofern du Einfluss darauf hast, würde ich die Verwendung von dynamischen Variablennamen, die Informationen beinhalten, vermeiden.

Grüße,
Harald
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: 19.06.2014, 14:45     Titel:
  Antworten mit Zitat      
Hallo Dr. Nasenbär,

Ich unterstütze Harald's Hinweis wollständig. Daten im Namen einer Variablen zu verstecken macht die Programmierung unnötig kompliziert und damit die Wartung und das Debuggen zusätzlich schwer. In "x_10ms" steckt ein Teil der Messdaten im Namen der Variablen. Besser wäre z.B. ein Struct:
Code:
x.value = rand(1, 100);
x.time = 10
x.timeUnit = 'ms';

Dann ist das Einlesen einfacher und viel flexibeler.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr. Nasenbär
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 30.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2014, 09:21     Titel:
  Antworten mit Zitat      
Vielen Dank für eure Hilfe
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.