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

Daten einlesen und verschiedene Arrays erzeugen

 

Overdue
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.10.11
Wohnort: Peking
Version: R2009b
     Beitrag Verfasst am: 09.11.2011, 05:06     Titel: Daten einlesen und verschiedene Arrays erzeugen
  Antworten mit Zitat      
Hallo Zusammen,

nachdem ich mit meinem bescheidenen MatLab-Kenntnissen das Forum durchforstet habe und nach etlichem Probieren zu keiner Lösung komme, möchte ich euch um eure Hilfe bitten!

Es geht um Folgendes:

Ich habe eine Reihe von Daten (.rcc Dateien) deren Inhalte ich in MatLab einlese.

Die Dateien bennen sich so:

LC1.1_MonopileOffshore.rcc
LC1.2_MonopileOffshore.rcc
LC1.3_MonopileOffshore.rcc
LC1.4_MonopileOffshore.rcc
LC1.5_MonopileOffshore.rcc
LC2.1_MonopileOffshore.rcc
... usw. bis
LC12.1_MonopileOffshore.rcc






Das bekomme ich, auch durch die Hilfe von Harald in diesem Beitrag (http://www.gomatlab.de/verarbeitung-mehrerer-tabellen-t20381.html), mit dieser Schleife auch hin:

Code:



clc
clear all
for J=1:12
for I=1:5



dateiname=['LC' num2str(J) '.' num2str(I) '_MonopileOffshore.rcc'] % Vergabe des Dateinames entsprechend der Input Dateien

RainflowTabelle=importdata(dateiname); % Einlesen der Datei
 
Cycles=RainflowTabelle.data(1:30,2); % herauslesen der relevanten Daten

end
end

 


Die Schleife funktioniert so weit. Die Daten,die ich benutzen möchte, werden ich "Cycles" geschrieben. Jedoch wird "Cycles" immer wieder überschrieben. Ich möchte jedoch, für jede Schleife (also für jede Datei) ein eigenes Array. Am besten mit einem aussagekräftigem Namen (welcher sich von den Inputdaten ableitet), z.B.:

Cycles_LC1.1_MonopileOffshore
Cycles_LC1.2_MonopileOffshore
Cycles_LC1.3_MonopileOffshore

usw.

Die verschiedenen Arrays möche ich dann später mit einem Faktor multiplizieren und addieren.

Ich habe, wie gesagt, schon viele ähnliche Probleme gefunden. Dabei stoße ich öfters auf Befehle wie z.B.: "eval". Bekomme es damit aber auch nicht hin, bzw. davon wird abgeraten.

Wäre sehr dankbar wenn man mir etwas helfen könnte!

Viele Grüße
Lukas
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

wie wäre es mit einem 2D-Cell Array?

Code:
cycles = cell(12, 5);
for J=1:12
for I=1:5
dateiname=['LC' num2str(J) '.' num2str(I) '_MonopileOffshore.rcc'] % Vergabe des Dateinames entsprechend der Input Dateien

RainflowTabelle=importdata(dateiname); % Einlesen der Datei
 
Cycles{J, I}=RainflowTabelle.data(1:30,2); % herauslesen der relevanten Daten

end
end


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

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.10.11
Wohnort: Peking
Version: R2009b
     Beitrag Verfasst am: 12.11.2011, 06:11     Titel:
  Antworten mit Zitat      
Viele Dank Harald für die weitere Hilfe! Klappt wunderbar.

Eine Verständnisfrage hätte ich noch:

wird hiermit

Zitat:
Cycles{J, I}=RainflowTabelle.data(1:30,2)



bestimmt, an welche Stelle die Daten im 2D Cell Array gespeichert werden?

Wäre sehr dankbar, wenn Sie mir auch die Frage beantworten. Ansonsten wiederrum vielen Dank für die schnelle Lösung meines Problemes.

Ich habe es zwischenzeitlich auch auf einem anderen Wege probiert.
Ich habe die Daten als Zwischenschritt immer als Excel Tabelle ausgelesen. Hierbei ist bereits eine Mulitplikation (Faktorisierung) der Daten beinhaltet. Bei Interesse, hier der Code:


Code:
clc
clear all
for J=1:12
for I=1:5



dateiname=['LC' num2str(J) '.' num2str(I) '_MonopileOffshore.rcc'] % Vergabe des Dateinames entsprechend der Input Dateien

RainflowTabelle=importdata(dateiname); % Einlesen der Datei

Cycles=RainflowTabelle.data(1:30,2); % herauslesen der relevanten Daten
f=input('Bitte den Faktor eingeben= '); % Eingabe des Faktors
CyclesFaktorisiert=Cycles*f; % Muliplikation mit Faktor
xlswrite(['LC' num2str(J) '.' num2str(I) '_MonopileOffshore_faktorisiert.xls'], CyclesFaktorisiert); % Ertstellen des Excel Tabellen

end
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

genau, damit wird die Position bestimmt.

Wenn du eine ganze Serie von Excel-Dateien schreiben willst, wirst du einiges an Geduld mitbringen müssen.

Grüße,
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 - 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.