【20190612】【Matlab】max() 函数的用法详解
[a, p] = max(sigmoid(X * all_theta'), [], 2);
多元逻辑回归代码中遇见了这样一行,我的疑问是:为什么 max() 中要加一个 ‘[]’ ?
-
max用法的几种形式:
- max(a);
- max(a, b);
- max(a, [], dim);
- [C, I] = max(a);
- [C, I] = max(a, [], dim);
-
区分:
- [~, p] = max(a3, [], 2);
函数功能:表示 a3 是个二维矩阵,dim = 2 表示比较的是行,返回 size(a3, 1) 行,每行元素是 a3 该行最大的元素;dim = 1 表示比较的是列,注意和前面遇到的 dim = 1/2 意义不同!如下图:
- [~, p] = max(a3);
函数功能:求矩阵 a3 每一列的最大元素及其对应的索引。
- [~, p] = max(a3, 2);
这种写法错误!
-
参考: