如何在 MATLAB 中计算方差?


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

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

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

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

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

在 MATLAB 中计算方差

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

计算简单方差

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

Variance = var(A);

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

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

示例

% MATLAB code for calculating variance of a data set
% Create a vector of data points
A = [2, 4, 8, 10, 12, 16, 25];
% Calculate the variance of the data set
Variance = var(A);
% Display the original vector and its variance
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 code for calculating weighted variance of a data set
% Create a vector of data points
A = [2, 4, 8, 10, 12, 16, 25];
% Create a weight vector
w = [1, 2, 5, 4, 3, 7, 6];
% Calculate the weighted variance of the data set
Variance = var(A, w);
% Display the original vector and its variance
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”。需要注意的是,输入向量和权重向量的尺寸必须相同。接下来,我们使用“w”作为第二个参数的“var”函数来计算向量“A”的加权方差。最后,我们使用“disp”函数显示原始向量及其加权方差。

计算所有维度上的方差

“var”函数的以下语法用于计算数据集沿其所有维度的方差

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

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

示例

% MATLAB code for calculating variance of a data set along all dimensions
% Create an array of data points
A = [2, 4, 8; 10, 12, 16; 25, 30, 35];
% Calculate the variance of the data set along all dimensions
Variance = var(A, 0, 'all');	% ‘0’ indicates sample variance
% Display the input array and its variance along all dimensions
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 code for calculating variance of a data set along a specific dimension
% Create an array of data points
A = [2, 4, 8; 10, 12, 16; 25, 30, 35];
% Calculate the variance of the data set along rows
Variance_r = var(A, 0, 1);
% Calculate the variance of the data set along columns
Variance_c = var(A, 0, 2);
% Display the input array and its variance
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”函数用于计算不同用例的方差的所有语法。

更新于: 2023年8月7日

269 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告