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

Mehrere "Untermatrizen" miteinander verbinden

 

Schlangenkopf
Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 10:34     Titel: Mehrere "Untermatrizen" miteinander verbinden
  Antworten mit Zitat      
Hallo,
ich habe mehrere Messreihen in Matrizen mit fester Breite (was gemessen wurde) und variabler Länge (wann gemessen wurde).
Die Anzahl der Matrizen hängt von der Anzahl der Messungsversuche ab. Diese habe ich in meinem Code bereits definiert und weis der Code daher.

Jetzt möchte ich alle Messreien in eine gemeinsame "große" Matrix schreiben.
Die Ihrerseits eine feste Breite und variable Länge (abhängig der Messungen) bekommt.

Zusätzlich befinden sich die Messwerte jeweils in einem Unterordner der Matrizen.
Immer so:
Messreihe{1,n}.data

Wie kann ich n Matrizen in eine gemeisame Matrix schreiben?

Mein versuch:
Code:

for m = 1:(Anzahl_Messreihen)
komplette_Messreihe = [Messreihe{1,m}.data];
end
 


Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 10:54     Titel:
  Antworten mit Zitat      
eine simple aneinanderreihung funktioniert, da sich die Anzahl der messungen allerdings ändern kann, hätte ich gerne ein Art Automatisierung bei der sich die Anzahl der Matrizen ändern kann.

Code:

komplette_Messreihe = [Messreihe{1,1}.data;Messreihe{1,2}.data;Messreihe{1,3}.data];
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Code:
komplette_Messreihe = [Messreihe{1,:}.data];


Bitte bei Versuchen immer dazu schreiben, was nicht funktioniert - insbesondere wenn der Code mangels Daten nicht reproduzierbar ist.

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
 
Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 13:46     Titel:
  Antworten mit Zitat      
Hallo Harald,
Danke für deine Hilfestellung.
Die Idee mit deiner Änderung hatte ich auch schon.

Folgende Fehlermeldung kommt dann aber:
"Expected one output from a curly brace or dot indexing expression, but there were 9 results."

Gruß
(werde versuchen in Zukunft noch ausführlicher zu beschreiben)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

dann bitte eine beispielhafte .mat-Datei anhängen, damit ich sehen kann, was da los ist.

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
 
Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 14:43     Titel:
  Antworten mit Zitat      
Hallo,
Das wird schwer weil ich nicht weis, was ich seitens der Uni tun darf. Ich versuche nochmal das Problem zu beschreiben.

Ich habe im Wokspace ein "1x9 cell" mit dem Namen "Messreihe".
Aktuell befinden sich 9 Messreihen in "Messreihe".
Messreihe{1,n} (wobei n aktuell bis 9 gehen kann) besteht aus dem "Field" data und textdata.

Ich möchte alle data-Dateien zu einer Matrix zusammenfügen.

Was funktiert ist:
Code:

komplette_Messreihe = [Messreihe{1,1}.data; Messreihe{1,2}.data; Messreihe{1,3}.data; Messreihe{1,4}.data; Messreihe{1,5}.data; Messreihe{1,6}.data; Messreihe{1,7}.data; Messreihe{1,8}.data; Messreihe{1,9}.data];
 


Was auch funktioniert:
Code:

for n = 1:Anzahl_Messreihen
komplette_Messreihe = [Messreihe{1,n}.data]
end
 

(Hier speichert er aber nur die letzte Messreihe in komplette_Messreihe.)


Da ich aber die Auswahl der Messreihen-Nummer automatisieren möchte, um nicht immer copy and paste zu machen, habe ich bereits zuvor im Code die Anzahl der Messreihen in der Variable "Anzahl_Messreihe" gespeichert.

Ich hoffe, das macht es ein wenig leichter mein Problem zu verstehen
Beste Dank im Voraus
Private Nachricht senden Benutzer-Profile anzeigen
 
Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 14:47     Titel:
  Antworten mit Zitat      
Mein Ziel ist es also, dass "komplette_Messreihe" immer eine Messreihe{1,n}.data öffnet und speichert und danach eine weitere Messreihe{1,n+1}.data an diese Anhängt bis schließlich Messreihe{1,Anzahl_Messreihen}.data erreicht ist.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

ich habe verstanden, was du möchtest. Ich kann aber halt nicht nachvollziehen, wo das Problem liegt.
An einer Uni sollten die Daten nun nicht gerade höchster Geheimhaltung unterliegen. Es müssen zudem nicht mal die echten Daten sein, sondern nur ein Beispiel, anhanddessen man das Problem nachvollziehen kann.

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
 
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.