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

经验分享 程序员 微信小程序 职场和发展