Ich habe den folgenden CodeMatlab Singletons Dimension Hinter
o = ones(4,3,2)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
, die die 4-Zellen wie erwartet gibt, die jeweils 3x2 Matrizen.
Aber wenn ich die letzte Dimension von o zu einem reduzieren, ist das Verhalten absolut nicht wie erwartet:
o = ones(4,3,1)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
Die Ausgabe lautet:
[1x3 double]
[1x3 double]
[1x3 double]
[1x3 double]
Während ich erwarten würde:
[3x1 double]
[3x1 double]
[3x1 double]
[3x1 double]
Jede Möglichkeit, wie Sie das richtige Ergebnis erhalten?
... so wäre die Lösung von '@ (x) permute (x, [2 3 1])' –
@LuisMendo Vielen Dank für das ersetzen '@ squeeze' sein! – Suever