如何在 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"函数的以下默认语法:
方差 = 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"函数的所有语法。