4 Stimmen

Wie man ein Array von Strukturen in Zeilen statt in Spalten aufteilt?

Betrachten Sie das Folgende.

a(1).x = [1 2 3];
a(2).x = [4 5 6];

[a.x] gibt Ihnen [1 2 3 4 5 6].

Wie bekommt man leicht [1 2 3; 4 5 6]. Ohne zum Beispiel reshape zu verwenden.

P.S. Die Syntax [a.x;] wäre cool zu haben.

9voto

wakjah Punkte 4501

Sie können es mit vertcat tun:

vertcat(a.x)

ans =

 1     2     3
 4     5     6

1voto

Roney Michael Punkte 3964

Ein Weg dies zu tun, wäre die Verwendung von struct2cell, cell2mat und squeeze:

>> a(1).x = [1 2 3];
>> a(2).x = [4 5 6];
>> squeeze(cell2mat(struct2cell(a)))'

ans =

     1     2     3
     4     5     6

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X