Sort rows of a table based on vector

3 次查看(过去 30 天)
I have a table, Table_A, with 500 elements.
I have a vector, x, with number 1:500 in a random order.
I want to rearrange the table based on the values of x. For example, if the first three elements of x are 383, 24, 191, then the 393rd row of Table_A will be moved to row 1, the 24th row will be moved to row 2, the 191st row will be moved to row 3 and so on.
Any help is appreciated.
Thank you.

采纳的回答

Erik J
Erik J 2020-12-11
I was able to figure this out.
new_table = zeros(500,8);
new_table = array2table(new_table);
a = randperm(500);
for ii=1:500
row = stim_sheet(a(ii),:);
new_table(ii,:) = row;
end

更多回答(1 个)

Stephen23
Stephen23 2020-12-12
The MATLAB approach:
new_table = stim_sheet(a,:)

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by