怎样实现矩阵元素按大小顺序重排?
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/18 18:32:55
怎样实现矩阵元素按大小顺序重排?
现在一矩阵随机矩阵W,有20个元素,其值为1-4的整数,A矩阵根据W矩阵得到,如下
W = floor(4*rand(1,20)+1);
for i = 1:20
switch W(i)
case 1
A(i)=5*rand+2;
case 2
A(i)=25*rand+10
case 3
A(i)=45*rand+40;
case 4
A(i)=150*rand+100;
end
end
现在要实现,将W矩阵按元素从大到小,即从4至1重排,变成矩阵W1,或者说按矩阵A元素的大小重排变成A1,最后的W1和A1也是对应的关系.
请问如何实现呢?望大家不吝赐教,谢谢!
抱歉忘了说了,这是matlab编程
现在一矩阵随机矩阵W,有20个元素,其值为1-4的整数,A矩阵根据W矩阵得到,如下
W = floor(4*rand(1,20)+1);
for i = 1:20
switch W(i)
case 1
A(i)=5*rand+2;
case 2
A(i)=25*rand+10
case 3
A(i)=45*rand+40;
case 4
A(i)=150*rand+100;
end
end
现在要实现,将W矩阵按元素从大到小,即从4至1重排,变成矩阵W1,或者说按矩阵A元素的大小重排变成A1,最后的W1和A1也是对应的关系.
请问如何实现呢?望大家不吝赐教,谢谢!
抱歉忘了说了,这是matlab编程
![怎样实现矩阵元素按大小顺序重排?](/uploads/image/z/18699359-23-9.jpg?t=%E6%80%8E%E6%A0%B7%E5%AE%9E%E7%8E%B0%E7%9F%A9%E9%98%B5%E5%85%83%E7%B4%A0%E6%8C%89%E5%A4%A7%E5%B0%8F%E9%A1%BA%E5%BA%8F%E9%87%8D%E6%8E%92%3F)
W = floor(4*rand(1,20)+1);
W=sort(W);
for i = 1:20
switch W(i)
case 1
A(i)=5*rand+2;
case 2
A(i)=25*rand+10;
case 3
A(i)=45*rand+40;
case 4
A(i)=150*rand+100;
end
end
再问: 这个是从1到4排序,我想要的是从4到1 排序,怎么改呢?
再答: W = floor(4*rand(1,20)+1); W=sort(W); W=fliplr(W); for i = 1:20 switch W(i) case 1 A(i)=5*rand+2; case 2 A(i)=25*rand+10; case 3 A(i)=45*rand+40; case 4 A(i)=150*rand+100; end end
W=sort(W);
for i = 1:20
switch W(i)
case 1
A(i)=5*rand+2;
case 2
A(i)=25*rand+10;
case 3
A(i)=45*rand+40;
case 4
A(i)=150*rand+100;
end
end
再问: 这个是从1到4排序,我想要的是从4到1 排序,怎么改呢?
再答: W = floor(4*rand(1,20)+1); W=sort(W); W=fliplr(W); for i = 1:20 switch W(i) case 1 A(i)=5*rand+2; case 2 A(i)=25*rand+10; case 3 A(i)=45*rand+40; case 4 A(i)=150*rand+100; end end