How would I transform a 5-dimensional vector into a 3-dimensional vector?
Mostrar comentarios más antiguos
How would I transform a 5-dimensional vector into a 3-dimensional vector? An example would be very helpful, but I really do not know how to do this.
Respuestas (1)
How you would do it depends on how you want it to work.
For instance, if your 5-dimensional matrix contains two singleton (i.e., of size 1) dimensions that you want to remove, you could use squeeze():
X = randn(5,1,3,1,2);
Y = squeeze(X);
disp(X);
disp(Y);
Or you could use reshape() in that same situation:
Y = reshape(X,[5 3 2]);
disp(Y);
Or even if there are no singleton dimensions, you could use reshape(), but you have to specify how you want this reshaping done:
X = randn(5,2,3,4,2);
disp(X);
Y = reshape(X,[10 12 2]);
disp(Y);
Y = reshape(X,[5 6 8]);
disp(Y);
Y = reshape(X,[5 2 24]);
disp(Y);
permute() and shiftdim() might also be useful.
2 comentarios
Connor Mondock
el 4 de Feb. de 2022
Voss
el 4 de Feb. de 2022
All of these examples use built-in functions.
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!