How to convert 4D double matrix into 2D arrays

8 Ansichten (letzte 30 Tage)
Sung Wook Choi
Sung Wook Choi am 13 Nov. 2023
Kommentiert: Dyuman Joshi am 15 Nov. 2023
Hi
I'm sorry for my English :(
I'm trying to convert 4-D double matrix into 2D arrays
There are a total of 14 different scenarios, each represented by a matrix of size 1x101 in the program. The representation in 4D is structured as (:,:,1,1) through (:,:,101,1) for the first scenario, (:,:,1,2) through (:,:,101,2) for the second scenario, and so on, up to (:,:,1,14) through (:,:,101,14) for the fourteenth scenario. Each set of indices within the 4D structure corresponds to a unique value in the respective scenario.
Thank you so much
  8 Kommentare
Dyuman Joshi
Dyuman Joshi am 13 Nov. 2023
Yes, that's what I meant.
Ok, there are 2 singleton dimensions.
Now, What is the output you want? A 101x14 array?
Sung Wook Choi
Sung Wook Choi am 13 Nov. 2023
Yes I want it!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dyuman Joshi
Dyuman Joshi am 13 Nov. 2023
Use squeeze -
in = rand(1,1,101,14);
size(in)
ans = 1×4
1 1 101 14
out = squeeze(in);
size(out)
ans = 1×2
101 14
  10 Kommentare
Sung Wook Choi
Sung Wook Choi am 15 Nov. 2023
Thank you so much! Finally, may I ask what the difference is between the 'out1' and 'out2' matrices? They appear to be the same, and I couldn't identify any distinctions.
Also, when you use 'squeeze,' it removes two singletons. Does 'squeeze' mean removing all singletons in a matrix?
Dyuman Joshi
Dyuman Joshi am 15 Nov. 2023
You are welcome!
Yes, they are the same.
For the second one, I have just combined all the steps in one command.
Yes, 'squeeze' removes all the singleton dimensions of an array.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by