matlab 找矩阵中每行或每列的最大值和最小值

已知矩阵a:

1、找矩阵a每列的最大值

[max_a,index]=max(a);

或者[max_a,index]=max(a,[],1);

其中max_a是最大的数值,index是最大的数值所处的位置。【最小值由min替换max即可】

2、找矩阵a每行的最大值

[max_a,index]=max(a,[],2);

其中max_a是最大的数值,index是最大的数值所处的位置。【最小值由min替换max即可】

 

注意,有时需要找除0以外的最小值,可以将矩阵中的0值置为NaN:   a(find(a==0))=NaN;

将NaN重新置为0:a(find(isnan(a)==1))=0;

 

例如:

a =

     1     2     3
     2     4     5
     6     1     3

>> [max_a,index]=max(a)

max_a =

     6     4     5


index =

     3     2     2

 

找矩阵a每行的最大值

[max_a,index]=max(a,[],2);

例如:

a =

     1     2     3
     2     4     5
     6     1     3

>> [max_a,index]=max(a,[],2)

max_a =

     3
     5
     6


index =

     3
     3
     1

你可能感兴趣的:(matlab)