给定大小为M x N的矩阵,任务是找到给定矩阵的均值向量。
例子:
Input : mat[][] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}}
Output : Mean Vector is [4 5 6]
Mean of column 1 is (1 + 4 + 7) / 3 = 4
Mean of column 2 is (2 + 5 + 8) / 3 = 5
Mean of column 3 is (3 + 6 + 9) / 3 = 6
Input : mat[][] = {{2, 4},
{6, 8}}
Output : Mean Vector is [4 6]
Mean of column 1 is (2 + 6) / 2 = 4
Mean of column 2 is (4 + 8) / 2 = 6
方法:
让我们取一个尺寸为5×3的矩阵垫,代表5个对象的长度,宽度,高度。
现在,所得的均值向量将是以下格式的行向量:
[mean(length) mean(breadth) mean(height)]
注意:如果我们有一个维度为M x N的矩阵,那么所得的行向量将为维度1 x N
现在,只需计算矩阵每一列的均值,即可得出所需的均值向量。
C++
// C++ program to find mean vector
// of given matrix
#include
using namespace std;
#define rows 3
#define cols 3
// Function to find mean vector
void meanVector(int mat[rows][cols])
{
cout << "[ ";
// loop to traverse each column
for (int i = 0; i < rows; i++) {
// to calculate mean of each row
double mean = 0.00;
// to store sum of elements of a column
int sum = 0;
for (int j = 0; j < cols; j++)
sum += mat[j][i];
mean = sum / rows;
cout << mean << " ";
}
cout << "]";
}
// Drivers code
int main()
{
int mat[rows][cols] = { { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } };
meanVector(mat);
return 0;
}
Java
// Java program to find
// mean vector of given matrix
import java.io.*;
class GFG
{
static int rows = 3;
static int cols = 3;
// Function to
// find mean vector
static void meanVector(int mat[][])
{
System.out.print("[ ");
// loop to traverse
// each column
for (int i = 0; i < rows; i++)
{
// to calculate mean
// of each row
double mean = 0.00;
// to store sum of
// elements of a column
int sum = 0;
for (int j = 0; j < cols; j++)
sum += mat[j][i];
mean = sum / rows;
System.out.print((int)mean + " ");
}
System.out.print("]");
}
// Driver code
public static void main (String[] args)
{
int mat[][] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
meanVector(mat);
}
}
// This code is contributed
// by anuj_67.
Python3
# Python3 program to find
# mean vector of given
# matrix
rows = 3;
cols = 3;
# Function to
# find mean vector
def meanVector(mat):
print("[ ", end = "");
# loop to traverse
# each column
for i in range(rows):
# to calculate
# mean of each row
mean = 0.00;
# to store sum of
# elements of a column
sum = 0;
for j in range(cols):
sum = sum + mat[j][i];
mean = int(sum /rows);
print(mean, end = " ");
print("]");
# Driver Code
mat = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]];
meanVector(mat);
# This code is contributed
# by mits
C#
// C# program to find
// mean vector of given matrix
using System;
class GFG
{
static int rows = 3;
static int cols = 3;
// Function to
// find mean vector
static void meanVector(int [,]mat)
{
Console.Write("[ ");
// loop to traverse
// each column
for (int i = 0; i < rows; i++)
{
// to calculate mean
// of each row
double mean = 0.00;
// to store sum of
// elements of a column
int sum = 0;
for (int j = 0; j < cols; j++)
sum += mat[j, i];
mean = sum / rows;
Console.Write((int)mean + " ");
}
Console.Write("]");
}
// Driver code
public static void Main ()
{
int[,] mat = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
meanVector(mat);
}
}
// This code is contributed
// by anuj_67.
PHP
Javascript
输出:
[ 4 5 6 ]
时间复杂度: O(行*列)