Rearrange a matrix by the values of the first column

1 visualizzazione (ultimi 30 giorni)
Hello all, I would like to rearrange the matrix according to the values in the first column. the first column represents station number and the second column represents value acquired from the corresponding station ( I attached the file). I have 9 stations, so I want a n x 9 matrix where n is the values from each station. It would be like
0 0 0 0
10 10 10 10
20 20 20 20
30 30 30 30
50 50 50 50
75 75 75 75
125 125
150 150
  2 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 17 Dic 2020
If you want help, you need to make it easy to undestand. Please elaborate the question with small sample example
Day Hong Kim
Day Hong Kim il 18 Dic 2020
Sorry for my bad writing skill. Here is the example,
The first column is the number of each station and the second column is the value acquired from the station.
1 0
1 10
1 20
2 0
2 10
2 20
2 30
I want to rearrange this matrix to
0 0
10 10
20 20
30
so each column represents a station and the rows represent the value.
Hope this makes sense.

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 17 Dic 2020
load(websave('question.mat','https://www.mathworks.com/matlabcentral/answers/uploaded_files/464105/question.mat'));
G=findgroups(stationdepth(:,1));
n=max(histcounts(G,1:max(G)+1));
out=nan(n,9);
for i=1:9
bool=(G==i);
out(1:nnz(bool),i)=stationdepth(bool,2);
end
out
out = 14×9
0 0 0 0 0 0 0 0 0 10 10 10 10 10 10 10 10 10 20 20 20 20 20 20 20 20 20 30 30 30 30 30 30 30 30 30 50 50 50 50 50 50 50 50 50 75 75 75 75 75 75 75 75 75 NaN NaN 100 100 100 100 100 100 100 NaN NaN 125 125 125 125 125 125 125 NaN NaN 150 150 150 150 150 150 150 NaN NaN NaN NaN 200 200 200 200 200

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by