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

unterschiedl. lange Vekt. laden u. in Schleife bearb.

 

iPaul
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 07.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2008, 14:11     Titel: unterschiedl. lange Vekt. laden u. in Schleife bearb.
  Antworten mit Zitat      
Hallo zusammen!

Ich beschäftige mich noch nicht allzulange mit Matlab und hab jetzt ein Problem, bei dem es bestimmt viele Lösungen gibt, von denen mir aber keine einfällt.

Ich hab unterschiedlich Lange Vektoren durch Messungen erhalten und gespeichert.
Zum Vergleich mehrerer Messungen lade ich nun die Messdateien ein und will sie gleichzeitig auswerten und darstellen.
Die jeweiligen Dateipfade habe ich unter einem cell array (ladevek) abgelegt.
Jetzt kann ich mit
Code:

n=1;
while n<6
T_temp(n,:) = load(char(ladevek(n)), 'T');
T_vec = [T_temp.T]';
n=n+1
end
 

die einzelnen zugehörigen T-Variablen (einfache integer) aus den einzelnen Messungen laden und im vektor T_vec bearbeiten (so kann ich in der schleife auch festlegen, wieviele Dateien verglichen werden sollen).

Da meine Messdatenvektoren aber unterschiedlich lang sind, kann MATLAB diese mit y_vec = [y_temp.y]' nicht in eine Matrix schreiben :-( (Fehlermeldung).
Deshalb würde es mit auch reichen, wenn ich die Messwektoren einzeln in der Schleife lade und mit einem Index versehe und so anschließend darauf zurückgreifen kann.
Das hab ich bis jetzt nicht geschafft, da ich aus den geladenen Dateien immer nur ein struct array bekomme,

Bsp: y_temp(1,:)

ans = y: [220500x1 double]

aber daraus nicht den eigentlichen Messvektor ziehen kann und mir ein Befehl für die Indizierung fehlt.

Wer kann mir Tipps geben?

Vielleicht gibt's ja auch nen einfacheren Ansatz....?


Vielen Dank schon mal!
Private Nachricht senden Benutzer-Profile anzeigen


iPaul
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 07.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.10.2008, 10:42     Titel:
  Antworten mit Zitat      
Hallo, nochmal!

Na, hat keiner eine Idee?
Um das ganze noch mal zu vereinfachen:
Wenn's um die Benennung von Dateien/Legenden/Titeln geht, dann gibt einem der "sprintf" Befehl ja die Möglichkeit, Variablen in die Benennung zu bringen.

z.B.:
Code:

n = 23;
name = sprintf('Beispieltext Nr%i', n);
 


Jetzt hätte ich gern so eine Möglichkeit für meine Variablenbenennung. Der sprintf-Befehl gibt mir ja nur nen String aus, ich möchte aber (innerhalb meiner Schleife) einen y-Vektor auslesen und einer Variablen y1 zuordnen, im zweiten Durchgang dann ein neues y auslesen und y2 zuordnen etc. Aber wie bekomm ich eine "variable Variablenbenennung"? Wie gesagt, die Vektormethode macht Probleme, weil die y unterschiedlich lang sind.

Ich hoffe, man konnte das verstehen...?!
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 09.10.2008, 12:12     Titel:
  Antworten mit Zitat      
Ich weiß nicht ob ichs jetzt richtig verstanden habe:

In einer Schleife willst du einer berechneten Variablen einen jeweils neuen Namen geben? Vll sowas in der Form?

Code:

for k=1:10;
berVar=k^2;
eval(['p' num2str(k) '=berVar;']);
end

_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
iPaul
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 07.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.10.2008, 13:45     Titel:
  Antworten mit Zitat      
*gaaaaaanz breites grinsen*

Jawohl, sowas hab ich gesucht. Hoffe, ich kann den Rest jetzt auch umsetzten.

Code:
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 - 2024 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.