Matlab中min/max函数的误解

  1.C= min(a):返回最小值;我原来以为如果a是行向量,min(a)返回a本身,因为我记得min(a,1)是按列找最小,这是默认的。doc min发现,只要a是向量,那么返回最小值。

  2.C= min(a,[],dim),dim分别取1,2和我理解的一样。

  3.C= min(A,B),如果AB是同维矩阵,返回两者较小者。如果B是表量,那么返回A中每个数和B比较的结果,那个小返回那个。

>> a = magic(3)

a =

     8     1     6
     3     5     7
     4     9     2

>> b = rand(3)

b =

    0.1934    0.6183    0.8561
    0.6920    0.4093    0.6222
    0.2178    0.9112    0.6827

>> min(a,b)

ans =

    0.1934    0.6183    0.8561
    0.6920    0.4093    0.6222
    0.2178    0.9112    0.6827

>> min(a,3)

ans =

     3     1     3
     3     3     3
     3     3     2

  注意:怕的是,对于行/列向量,然后min(a,2)、min(a,1),这样的话就是把行列向量和2/1比较大小,返回较小者。

原文地址:https://www.cnblogs.com/hxsyl/p/4593174.html