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

load Befehl mit zusammengesetzer Bezeichnung

 

bo3ndn3r
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 28.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2014, 13:22     Titel: load Befehl mit zusammengesetzer Bezeichnung
  Antworten mit Zitat      
Hallo Forum.

Ich bin neu hier und bin Matlab Anfänger. Werde versuchen mein Problem möglichst präzise zu schildern und hoffe auf Vorschläge.

Situation:
Ich habe Messungen in alle unterschiedliche Richtungen. z.B. 0° und 190°. Jede Messung wird in einem eigenem .mat File gespeichert. Dessen Namensgebung setzt sich folgendermassen zusammen: projekt+richtung z.b. tss000 oder tss190. Wobei in jedem File eine Matrix vorkommt, welche Messwerte heisst und die gemessene Zeitreihe beinhaltet sowie einen Referenzwert. Dazu habe ich Erfahrungswerte (Windrichtung und Windgeschwindigkeit) welche sich in jede Stunde pro Jahr unterteilt (8760 h) Dies ist bereits als Matrix eingelesen.

Was ich machen will:
Für jede dieser 8760h meine Messungen entsprechend der Windrichtung laden. Mit der Windgeschwindigkeit und den Messungen etwas rechnen und dann zur nächsten Stunde springen.

Problem:
Da die Funktion in unterschiedlichen Projekten genutzt werden soll, will ich am Anfang die Projektbezeichnung einlesen und anschliessend das laden der Messdatei aus der Projektbezeichnung und Windrichtung zusammensetzen. Zusätzlich ist die Frage, wie ich dieses Auswahlverfahren am besten mache (Messungen sind alle 10° von 0-360). mit einer grossen if abfrage, oder ob es eine elegantere case Möglichkeit gibt.

Code:

counter=1;
projekt=tss;


while counter<8761
      if Windrichtung(counter,:)=0
      messdaten=[projekt '000'];
     
      elseif Windrichtung(counter,:)=190
      messdaten=[projekt '190'];
      end

p(counter,:)=messwerte.*erfahrungswert(counter,:);
clear messwerte;
clear referenzwerte;
counter=counter+1;
end
 


Fehlermeldung:
Error using load
Unable to read file 'messdaten': no such file or Directory.

Ich will aber nicht das file messdaten laden sondern z.B. tss190


Ich hoffe ich konnte mein Problem verständlich erklären. Ansonsten versuche ich es gerne nochmals.

Danke
bo3ndn3r
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

wo ist denn dein load-Befehl?

Code:

sollte klappen.

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

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 28.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2014, 14:34     Titel:
  Antworten mit Zitat      
Hatte vergessen den load Befehl in den Code mit reinzuschreiben. Da ich Matlab leider nicht auf dem PC mit Internet habe.

bisher (funktionierte nicht)
Code:


neu (funktioniert)
Code:


Was bzw. wie unterscheidet Mtlab den Befehl mit oder ohne Klammern?

Danke und Gruss
bo3ndn3r
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 01.12.2014, 14:42     Titel:
  Antworten mit Zitat      
Du kannst z.B. mit

Code:

s = what('folderName')
 


alle Matlab Dateien in dem Ordner 'folderName' abfragen. Du erhälst eine struktur.

s.mat ist dann ein cell array{n,1}, wobei n die Anzahl der .mat files in dem Ordner ist.

Code:


lädt jetzt den ersten mat-file in der Liste des cell-array ins workspace.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.12.2014, 15:00     Titel:
  Antworten mit Zitat      
Hallo,

Code:
ist äquivalent zu
Code:
load('messdaten')


Hier wird also messdaten wirklich als Zeichenkette behandelt, während es im "richtigen" Aufruf als Variable behandelt wird.

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.