MATLAB Answers

Sorting multi Dimension matrix

Asked by M@lik Ali

M@lik Ali (view profile)

on 5 Feb 2013
Accepted Answer by Conrad

Conrad (view profile)

Hi all i have a matrix fset like

fset(:,:,1) =

```Columns 1 through 7
```
```    0.0417    0.0104    0.1042    0.1771    0.1771    0.1042    0.4271
0.1771    0.2188    0.0313    0.2604    0.0104    0.0625    0.3021
0    0.0833    0.0208    0.0417    0.0313    0.0833    0.0729
0.0313    0.0313    0.0208    0.0313    0.0833    0.0104    0.0521
0.1667    0.0312    0.0625    0.1042    0.3229    0.1146    0.0729```
```Columns 8 through 14
```
```    0.1979    0.0313    0.0833    0.0625    0.0208    0.1042    0.0104
0.3021    0.0521    0.0208    0.0729    0.0104    0.1875    0.0521
0.0833    0.0625    0.1354    0.0104    0.0521         0    0.0417
0.0521    0.1250    0.1042    0.0208    0.0833    0.1771    0.0625
0.1146    0.3125    0.1875    0.0833    0.1667    0.2292    0.0833```
```Columns 15 through 16
```
```    0.0417    0.0104
0.0625    0.1563
0.1354    0.0521
0.0313    0.0729
0.2917    0.0313```

fset(:,:,2) =

```Columns 1 through 12
```
```     0     0     0     0     0     0     0     0     0     0     0     0
0     0     0     0     0     0     0     0     0     0     0     0
0     0     0     0     0     0     0     0     0     0     0     0
0     0     0     0     0     0     0     0     0     0     0     0
0     0     0     0     0     0     0     0     0     0     0     0```
```Columns 13 through 16
```
```     0     0     0     0
0     0     0     0
0     0     0     0
0     0     0     0
0     0     0     0```

i want to sort this matrix so that the lowest should be above

how i can do it please help me

Jan Simon

Jan Simon (view profile)

on 5 Feb 2013

Do you mean the "lowest element" and what exactly is "above" in a 3D array?

Products

No products are associated with this question.

1 Answer

Answer by Conrad

Conrad (view profile)

on 5 Feb 2013
Accepted answer

Hi, you need to sort along the third dimension:

```    % Create dummy data.
fset(:,:,1) = rand(5,16); fset(:,:,2) = zeros(5,16);```
`    sorted_fset = sort(fset,3);`

Conrad

M@lik Ali

M@lik Ali (view profile)

on 5 Feb 2013

Thanks I will try this.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today