Matlab中min/max函数的误解

时间:2023-03-09 21:24:22
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比较大小,返回较小者。