【20190612】【Matlab】max() 函数的用法详解

[a, p] = max(sigmoid(X * all_theta'), [], 2);

多元逻辑回归代码中遇见了这样一行,我的疑问是:为什么 max() 中要加一个 ‘[]’ ?


  • max用法的几种形式:

  1.  max(a);
  2. max(a, b);
  3. max(a, [], dim);
  4. [C, I] = max(a);
  5. [C, I] = max(a, [], dim);
  • 区分:

  • [~, p] = max(a3, [], 2);

函数功能:表示 a3 是个二维矩阵,dim = 2 表示比较的是行,返回 size(a3, 1) 行,每行元素是 a3 该行最大的元素;dim = 1 表示比较的是列,注意和前面遇到的 dim = 1/2 意义不同!如下图:

【20190612】【Matlab】max() 函数的用法详解【20190612】【Matlab】max() 函数的用法详解

【20190612】【Matlab】max() 函数的用法详解

  • [~, p] = max(a3);

函数功能:求矩阵 a3 每一列的最大元素及其对应的索引。

【20190612】【Matlab】max() 函数的用法详解

【20190612】【Matlab】max() 函数的用法详解

  • [~, p] = max(a3, 2);

这种写法错误!

【20190612】【Matlab】max() 函数的用法详解

  • 参考:

matlab 中max函数用法

matlab中的 MAX函数的几种形式

MATLAB中的max函数的用法及含义