Order matrix elements as strings according to their value
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
So I perform a series of calculations which give a 6x1 matrix, where the positions of the matrix are associated to a Team name.
X= [0.5, 0.7, 1, 5] when the X(1)=Team1 X(2)=Team2... X(4)=Team(4).
I wish to display a vector that would order the string in descending order according to the assigned value so in the specific example
Order=[Team4; Team3; Team2; Team1] which is according to the value
This is such that if the values of X change based on calculations the algorithm would display the team names in the order according to their numerical value.
Thank you,
0 个评论
回答(2 个)
the cyclist
2015-11-25
0 个投票
Here's one way:
X = [0.5, 0.7, 1, 5];
teamList = {'Team1','Team2','Team3','Team4'};
[sortedX,sortingIndex] = sort(X,'descend'); sortedTeamList = teamList(sortingIndex)
0 个评论
Kirby Fears
2015-11-25
编辑:Kirby Fears
2015-11-25
Using your example:
X= [0.5, 0.7, 1, 5];
Teams = {'Team1','Team2','Team3','Team4'};
You can sort X descending and keep the sorting index ( sortIdx ). You can index Teams with sortIdx to apply the same permutation that sorted X.
[X,sortIdx]=sort(X,'descend');
Teams = Teams(sortIdx);
Hope this helps.
1 个评论
Felipe Rivas
2015-11-25
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!