2016-04-24 5 views
0

Im folgenden Code erzeuge ich eine zufällige 8 x 5-Matrix und erstelle dann eine neue Matrix 'temp', die zu temp = reshape(A',r*c,1); restrukturiert wird. Ich mache dann etwas Manipulation an der Temperatur (aber behalten Sie die Dimension 40 x 1). Wie restrukturieren Sie nun 'temp', um eine Matrix mit der Dimension A zurück zu erhalten (d. H., Die Temperatur wird jetzt auf eine Matrix von 8 x 5 zurückgesetzt)?Matrix neu strukturieren, um Originalmatrix zurück zu erhalten

Danke. Hier ist der Code, den ich bisher:

A = randi(10,8,5); 
[r c] = size(A); 
temp = reshape(A',r*c,1); 

Antwort

3

Da Sie temp von einem reshape Betrieb auf der transponierte Matrix konstruieren A (A'), können Sie einfach erneut umwandeln wieder in die ursprüngliche A Form durch einen zusätzlichen reshape Operation angewendet auf temp, aber mit Zeilen- und Spaltenzählung, r bzw. c, angewendet "als umgekehrt" (als Spalten- bzw. Zeilenzählung), gefolgt von der abschließenden Umsetzung der resultierenden umgestalteten Matrix.

%// ... perform some manipulations (not affecting size) of temp 

%// restructure back to the form of A 
backToAForm = reshape(temp,c,r)' 
Verwandte Themen