Permutation according to table
2 次查看(过去 30 天)
显示 更早的评论
Hi, I have two tables
P=[188 5 95 60;3 59 0 111;255 123 51 84];
Ma=[25 222 80 6;100 1 190 97;73 33 254 184];
M_1=[];
for i=1:3
M_1(i,:)=sort(Ma(i,:));
end
M_1;
t1=table(M_1);
t2=table(P);
Now as t1 rows are arranged in ascending order, I wand t2 entries should also permute according to t1. i.e if t1 is arranged in ascending order then the corresponding t2 should also changed
6 correspons to 60 so 60 comes first, 25 corresponds to 188 so 188 comes second ,80 correspond to 95 so 95 comes at third place and so on
t3=[60 188 95 5;59 111 3 0;123 255 84 51]
I there a way to do so. Thanks in advance
0 个评论
采纳的回答
Quad
2020-5-21
编辑:Quad
2020-5-21
Sort has the option to also return the index of the sorted array, so you can sort P the same way. Here is a slight modification to your code
P=[188 5 95 60;3 59 0 111;255 123 51 84];
Ma=[25 222 80 6;100 1 190 97;73 33 254 184];
M_1=zeros(size(Ma));
P_1=zeros(size(P));
for i=1:3
[M_1(i,:),Index]=sort(Ma(i,:));
P_1(i,:) = P(i,Index);
end
M_1;
t1=table(M_1);
t2=table(P_1);
更多回答(0 个)
另请参阅
类别
在 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!