Convert multi dimensional array to a matrix

9 visualizaciones (últimos 30 días)
Arif Ahmed
Arif Ahmed el 17 de Feb. de 2017
Comentada: shaziah A el 7 de Ag. de 2018
Let's say I have A = rand(2,2,2,2). Considering the last two index of the Array A(2,2,x,x) as positions in a matrix such that Matrix(1,1) = A(2,2,1,1) Matrix(1,2) = A(2,2,1,2)..... and so forth.
Ultimately I will end up with a 4,4 matrix in this case.
How can I do this without writing a loop. Please advise.
Update:
I think my question didn't come through correctly. I apologize for it.
Let's have
A(:,:,1,1) =
0.1455 0.8693
0.1361 0.5797
A(:,:,2,1) =
0.5499 0.8530
0.1450 0.6221
A(:,:,1,2) =
0.3510 0.4018
0.5132 0.0760
A(:,:,2,2) =
0.2399 0.1839
0.1233 0.2400
Now I want to have a new Matrix such that
1 2
1 M = [M11 M12;
2 M21 M22];
In my M11 I want A(:,:,1,1)
In my M12 I want A(:,:,1,2) and so forth.
Ultimately I have a 4X4 matrix.
Does it make sense?
Thank you

Respuestas (1)

Walter Roberson
Walter Roberson el 17 de Feb. de 2017
squeeze(A(2, 2, :, :))
  6 comentarios
Arif Ahmed
Arif Ahmed el 18 de Feb. de 2017
Editada: Arif Ahmed el 18 de Feb. de 2017
Yes. This is what I meant.
Yes, I agree it doesn't agree with my original post. I was thinking of including 2x2 matrix somehow it translated into (2,2,x,x) in writing. I apologize.
shaziah A
shaziah A el 7 de Ag. de 2018
Did you have chance to put them into a matrix? I am also trying to do the same and would really appreciate some help.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices 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