how to arrange vectors in descending order?

15 次查看(过去 30 天)
I have 100 vectors of size 100x8 each as is given in the attachment. I want to arrange them in descending order row-wise only.i.e. the elements of each vector should not be changed but they must be arranged in descending order only. say for example if I have two vectors as given below:
v1=[1 2 3 4 5 6 7 8]
v2=[2 3 4 5 6 7 8 9]
Then they must be arranged in descending order like
v2=[2 3 4 5 6 7 8 9] % bigger vector 1st
v1=[1 2 3 4 5 6 7 8] % smallerr vector next
In my excel file given in attachement, assume that all these vectors are stored in a matrix called ErrorVectors.
  1 个评论
Asad (Mehrzad) Khoddam
First you should have a criteria for comparing two vectors like sum of errors or sum of square of errors.

请先登录,再进行评论。

回答(2 个)

Asad (Mehrzad) Khoddam
% read matrix into A then
%
sumError = sum(A.^2,2);
% sort the total error
[~, ind] = sort(sumError,'descend')
Asorted = A(ind,:)
  1 个评论
Sadiq Akbar
Sadiq Akbar 2020-10-12
Thank you very much dear KSSV and Asad (Mehrzad) Khoddam. I ran the programs of both of you, but they changes the contents of the vector also.
Then I found solution on below URL and it worked.
URL:https://www.mathworks.com/matlabcentral/answers/96995-how-can-i-sort-the-rows-of-a-matrix-in-descending-order-in-matlab-7-0-1-r14sp1#:~:text=Accepted%20Answer,-MathWorks%20Support%20Team&text=The%20SORTROWS%20function%20offers%20the,second%20argument%20to%20the%20function.
Thank you once again to both of you.
Regards

请先登录,再进行评论。


KSSV
KSSV 2020-10-12
A = rand(10,5) ;
[m,n] = size(A) ;
B = A ;
for i = 1:n
B(:,i) = sort(A(:,i),'descend') ;
end

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by