qickyly change 3D matrix to 2D matrix

1 visualización (últimos 30 días)
Shan  Chu
Shan Chu el 16 de Feb. de 2017
Respondida: Rahul Kalampattel el 16 de Feb. de 2017
Hi, This might be such a silly question but could anyone please help? I get a 3D matrix A(n,m,k) so I want to take the value a(:,1)=A(1,1,:). But Matlab doesn't allow me to do that. Is using "for" loop the only way to do that?

Respuesta aceptada

Roger Stafford
Roger Stafford el 16 de Feb. de 2017
Editada: Roger Stafford el 16 de Feb. de 2017
You could accomplish that with:
a = reshape(permute(A,[3,1,2]),size(A,3),[]);
[Note: You really haven’t specified how the first two dimensions in A should be arranged in the single second dimension of a. Here I have taken the default arrangement.]

Más respuestas (1)

Rahul Kalampattel
Rahul Kalampattel el 16 de Feb. de 2017
For the example you gave, the following also works:
a=squeeze(A(1,1,:));

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by