Using a matrix as an index of another matrix
6 次查看(过去 30 天)
显示 更早的评论
Hello everybody, I need some help please!
I am trying to sort a matrix (x) and go back to the original order based on the index matrix (idx2).
a = 30.0;
b = 100.0;
for i=1:5
x = (b-a).*rand(5,5) + a;
x = round(x,1);
end
[y, idx2] = sort(x, 2);
Thank you in advance
0 个评论
回答(1 个)
Steven Lord
2023-3-10
Take some shuffled data.
r = randperm(10)
Now sort it.
[sortedData, indices] = sort(r)
We can get back to r from sortedData using the indices.
recreatedR(indices) = sortedData
Let's check.
isequal(r, recreatedR)
We could also recreate sortedData from r using indices.
isequal(sortedData, r(indices))
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!