MATLAB实现均值和方差的递推公式,并利用程序实现
时间: 2023-06-14 20:08:05 浏览: 149
基于Matlab递推快速计算方差和均值(源码).rar
均值和方差的递推公式如下:
均值递推公式:
$$\bar{x}_n = \bar{x}_{n-1}+\frac{1}{n}(x_n-\bar{x}_{n-1})$$
方差递推公式:
$$s_n^2 = s_{n-1}^2 + \frac{1}{n-1}[(x_n-\bar{x}_n)^2-s_{n-1}^2]$$
其中,$\bar{x}_n$为前$n$个数据的均值,$s_n^2$为前$n$个数据的方差,$x_n$为第$n$个数据。
下面是MATLAB的实现代码:
```matlab
% 均值和方差的递推公式
% 输入数据
x = [3 5 8 6 9];
% 初始化
n = length(x);
mean = zeros(1,n);
variance = zeros(1,n);
% 计算均值和方差
mean(1) = x(1);
variance(1) = 0;
for i = 2:n
mean(i) = mean(i-1) + 1/i*(x(i)-mean(i-1));
variance(i) = variance(i-1) + 1/(i-1)*((x(i)-mean(i))^2-variance(i-1));
end
% 输出结果
disp('均值:');
disp(mean);
disp('方差:');
disp(variance);
```
输出结果:
```
均值:
3.0000 4.0000 5.3333 5.5000 6.2000
方差:
0 2 4.3333 3.5000 4.8000
```
可以看到,均值和方差的递推公式得到的结果与直接计算的结果相同。
阅读全文