So folgendes etwas kompliziert zu erklärendes Problem:
Was ich habe:
1. Ein cell array mit Strings die die Fieldnames repärsentieren: pnames
2. Eine cell Matrix matrix, die die Daten enthält, z.B. diese 3x3 Matrix
1 'hi' 2
2 'u' 3
1 'haw' NaN
NaN NaN NaN
(wie man sieht, kann diese Inhalt unterschiedlichen Typs haben, und enthält eventuell NaNs)
3. Einen Vektor, der für jede Spalte die maximale Zeile angibt, in der noch kein NaN steht, hier also
ends(1) = 3, ends(2) = 3, ends(3) = 2
Was ich möchte:
Ein Strucutre 'ergebnis', das die fieldnames besitzt und die Daten von m enthält. Und zwar so:
- pnames{i} ist der Fieldname für die i-te Spalte
- raw(1:ends(i),i) soll der Inhalt von 'ergebnis.pnames{i}' sein.
Beispiel: matrix:
1 'hi' 2
2 'u' 3
1 'haw' NaN
NaN NaN NaN
pnames:
pnames{1}= 'erste', pnames{2} = 'zweite', pnames{3} = 'dritte'
ends:
ends(1) = 3, ends(2) = 3, ends(3) = 2
Ergebnis:
Structure 'ergebnis' mit Feldern 'erste', 'zweite' und 'dritte' mit
ergebnis.erste = [1,2,1]
ergebnis.zweite = cell array mit 'hi', 'u', 'haw'
ergebnis.dritte = [2,3]
Ist das verständlich? Wie realisiere ich das am geschicktesten?
Hallo,
du kannst direkt CELL2STRUCT dazu verwenden
Du musst nur deine Daten-Matrix Transponieren, da diese Funktion erwartet, dass die Daten für Felder in Zeilen liegen und nicht in Spalten
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
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.