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比较大小,返回较小者。
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.