得到矩阵的值的大小,并以下降的方式对它们进行排序MATLAB

时间:2011-02-22 23:55:05

标签: matlab

如何获得矩阵中每个值的大小,所以:

 0.2964    0.8765    0.3793
 0.6832   -0.4721    0.5571
-0.6674   -0.0941    0.7387

被改造了吗?

 0.2964    0.8765    0.3793
 0.6832    0.4721    0.5571
 0.6674    0.0941    0.7387

以下降的方式对它进行排序,我们进行排序(A,'下降'),但由于我有负值,我希望得到大小然后排序,这可以在一条指令中完成吗?? { {1}}

所以最后我们得到了

(get magnitudes and sort them in descending order)

4 个答案:

答案 0 :(得分:4)

尝试sort(abs(A(:)),'descend')

答案 1 :(得分:3)

使用SORTABS

>> x = [0.2964 0.8765 0.3793;  0.6832 -0.4721 0.5571; -0.6674 -0.0941 0.7387]

x =

                    0.2964                    0.8765                    0.3793
                    0.6832                   -0.4721                    0.5571
                   -0.6674                   -0.0941                    0.7387

>> sort(abs(x(:)), 'descend')

ans =

                    0.8765
                    0.7387
                    0.6832
                    0.6674
                    0.5571
                    0.4721
                    0.3793
                    0.2964
                    0.0941

答案 2 :(得分:3)

这个怎么样:

>> a

a =

    0.2964    0.8765    0.3793
    0.6832   -0.4721    0.5571
   -0.6674   -0.0941    0.7387

>> temp=sort(abs(a(:)),'descend')

ans =

    0.8765
    0.7387
    0.6832
    0.6674
    0.5571
    0.4721
    0.3793
    0.2964
    0.0941

答案 3 :(得分:1)

使用abs()功能。