如何在 MATLAB 中计算方差?

matlabdata analysisprogramming

在本文中,我们将探讨如何在 MATLAB 中计算方差。在数学中,方差是一种统计工具,用于测量一组数据点围绕其平均值的分散程度。它被广泛用于量化一组数据点的多样性或可变性。

我们可以使用以下公式计算数据集的方差:

$\mathrm{Var=\frac{\displaystyle\sum\limits_{i=1}^n (x_i −\bar{x})^2}{n}}$

其中,xi 是单个数据点,是数据集的平均值,n 是集合中数据点的总数。

本文的以下部分将借助示例 MATLAB 程序解释如何计算数据集的方差。

在 MATLAB 中计算方差

MATLAB 提供了一个内置函数"var"来计算一组数据点的方差,以量化其围绕平均值的分散程度。根据不同的用例,"var"函数可以有几种不同的语法。让我们分别讨论这些语法。

计算简单方差

要计算一组数据点的方差,我们可以使用"var"函数的以下默认语法:

方差 = var(A);

其中,A 是数据点的数组或向量。

以下 MATLAB 程序演示了"var"函数默认语法的实现。

示例

% 用于计算数据集方差的 MATLAB 代码
% 创建数据点向量
A = [2, 4, 8, 10, 12, 16, 25];
% 计算数据集的方差
Variance = var(A);
% 显示原始向量及其方差
disp('The input vector is:');
disp(A);
disp('Variance of the vector is:');
disp(Variance);

输出

The input vector is:
    2    4    8   10   12   16   25
Variance of the vector is:
60.333

代码说明

在此 MATLAB 代码中,我们首先创建一个数据点"A"的向量。然后,我们使用"var"函数计算向量"A"的方差。最后,我们使用"disp"函数显示原始向量及其方差。

计算加权方差

我们使用"var"函数的以下语法来计算一组数据点的加权方差:

Variance = var(A, w);

这里,A 是数据点向量,w 是权重向量。

考虑以下 MATAB 程序以了解此语法的实现。

示例

% 用于计算数据集加权方差的 MATLAB 代码
% 创建数据点向量
A = [2, 4, 8, 10, 12, 16, 25];
% 创建权重向量
w = [1, 2, 5, 4, 3, 7, 6];
% 计算数据集的加权方差
Variance = var(A, w);
% 显示原始向量及其方差
disp('The input vector is:');
disp(A);
disp('Weighted variance of the vector is:');
disp(Variance);

输出

The input vector is:
     2     4     8    10    12    16    25

Weighted variance of the vector is:
   48.3367

代码说明

在此 MATLAB 代码中,我们首先创建数据点"A"的向量和权重向量"w"。需要注意的是,输入向量和权重向量的大小必须相同。接下来,我们使用"var"函数,以"w"作为第二个参数来计算向量"A"的加权方差。最后,我们使用"disp"函数显示原始向量及其加权方差。

计算所有维度的方差

使用"var"函数的以下语法来计算数据集在其所有维度上的方差:

Variance = var(A, 0, 'all');

请考虑以下 MATLAB 程序以了解此语法的实现。

示例

% 用于计算数据集沿所有维度的方差的 MATLAB 代码
% 创建数据点数组
A = [2, 4, 8; 10, 12, 16; 25, 30, 35];
% 计算数据集沿所有维度的方差
Variance = var(A, 0, 'all'); % "0" 表示样本方差
% 显示输入数组及其沿所有维度的方差
disp('The input array is:');
disp(A);
disp('Variance of the array along all dimensions is:');
disp(Variance);

输出

The input array is:
     2     4     8
    10    12    16
    25    30    35

Variance of the array along all dimensions is:
  136.6944

代码说明

在此 MATLAB 代码中,我们首先定义一个数据点"A"的输入数组。接下来,我们使用"var"函数通过"all"选项计算数组"A"沿其所有维度的方差。最后,我们使用"disp"函数显示输入数组及其沿所有维度的方差。

计算沿特定维度的方差

"var"函数的以下语法用于计算数据集沿特定维度的方差:

Variance = var(A, 0, dim);

此处,如果 dim = 1,则将沿数组的行计算方差,如果 dim = 2,则将沿数组的列计算方差。

以下 MATLAB 程序说明了"var"函数的此语法的实现。

示例

% 用于沿特定维度计算数据集方差的 MATLAB 代码
% 创建数据点数组
A = [2, 4, 8; 10, 12, 16; 25, 30, 35];
% 沿行计算数据集的方差
Variance_r = var(A, 0, 1);
% 计算数据集沿列的方差
Variance_c = var(A, 0, 2);
% 显示输入数组及其方差
disp('The input array is:');
disp(A);
disp('Variance of the array along rows is:');
disp(Variance_r);
disp('Variance of the array along columns is:');
disp(Variance_c);

输出

The input array is:
     2     4     8
    10    12    16
    25    30    35

Variance of the array along rows is:
  136.3333  177.3333  192.3333

Variance of the array along columns is:
    9.3333
    9.3333
   25.0000

代码说明

在此 MATLAB 代码中,我们定义了一个数据点"A"的输入数组。接下来,我们使用"var"函数计算数组"A"的方差,其中"dim = 1"沿行,"dim = 2"沿列。最后,我们使用"disp"函数显示输入数组及其沿行和列的方差。

结论

因此,这就是在 MATALB 中计算数据集方差的全部内容。MATLAB 提供了一个内置函数"var"来计算一组数据点的方差。在本文的以上部分中,我们已经解释了用于计算不同用例的方差的"var"函数的所有语法。


相关文章