Average

行列/ベクトル値の加重平均を計算します。

double vector::Average(
  const vector& weigts      // 重みベクトル
  );
 
double matrix::Average(
  const matrix& weigts      // 重み行列
);
 
vector matrix::Average(
  const matrix& weigts,     // 重み行列
  const int    axis        // 軸
  );

パラメータ

axis

[in] 軸。0 — 水平軸、1 — 垂直軸

戻り値

算術平均:スカラーまたはベクトル

注意事項

重み行列/ベクトルは、メインの行列/ベクトルに関連付けられています。

  matrixf matrix_a={{10,3,2},{1,8,12},{6,5,4},{7,11,9}};
  matrixf matrix_w=matrixf::Ones(4,3);
  Print("matrix_a\n",matrix_a);
 
  vectorf cols_average=matrix_a.Average(matrix_w,0);
  vectorf rows_average=matrix_a.Average(matrix_w,1);
  float matrix_average=matrix_a.Average(matrix_w);
 
  Print("cols_average ",cols_average);
  Print("rows_average ",rows_average);
  Print("average value  ",matrix_average);
 
 
  /*
  matrix_a
  [[10,3,2]
   [1,8,12]
   [6,5,4]
   [7,11,9]]
  cols_average [6,6.75,6.75]
  rows_average [5,7,5,9]
  average value 6.5
  */ value 6.5