MATLAB实现均值和方差推导
时间: 2023-09-13 19:05:59 浏览: 315
假设有$n$个数据点$x_1,x_2,...,x_n$,它们的均值为$\mu$,方差为$\sigma^2$,则均值和方差的计算公式如下:
均值:
$$\mu=\frac{1}{n}\sum_{i=1}^{n}x_i$$
方差:
$$\sigma^2=\frac{1}{n}\sum_{i=1}^{n}(x_i-\mu)^2$$
MATLAB中可通过如下代码实现:
```matlab
% 均值计算
x = [1, 2, 3, 4, 5]; % 数据
n = length(x); % 数据点个数
mu = sum(x) / n; % 均值计算公式
% 方差计算
sigma2 = sum((x - mu).^2) / n; % 方差计算公式
```
相关问题
应用MATLAB进行仿真实验,并计算均值、方差、信息熵、峰值信噪比(PSNR)等参数
### 使用 MATLAB 实现仿真实验及计算统计参数和图像质量评估指标
#### 计算均值、方差
为了在 MATLAB 中计算图像的均值和方差,可以利用内置函数 `mean2` 和 `std2` 或者手动编写代码来完成这些操作。
对于灰度图像 I 的均值 μ 可以通过如下方式获得:
```matlab
mu = mean2(I);
```
而标准差 σ 则可以通过下面的方式求得:
```matlab
sigma = std2(I);
```
如果想要更深入理解这两个统计数据,则可以直接使用 sum 函数配合 size 函数来自定义计算过程[^1]。
#### 信息熵计算
信息熵 H 是衡量一幅图中像素分布复杂程度的一个重要概念,在 MATLAB 中可通过构建直方图并据此推导出概率密度来进行估算。具体做法如下所示:
```matlab
% 将图像转换为双精度浮点数类型以便后续处理
I_double = im2double(I);
% 获取图像大小
[m, n] = size(I_double);
% 创建直方图
[counts, ~] = histcounts(double(I(:)), 0:255);
% 归一化得到概率向量 p
p = counts / (m * n);
% 移除非零项以防 log 运算出现问题
p(p==0) = [];
% 计算信息熵
H = -sum(p .* log2(p));
```
此段脚本首先获取了输入图像各强度级别的频率计数,接着将其规范化形成离散的概率分布模型;最后依据香农公式完成了信息熵的实际测量。
#### PSNR(峰值信噪比)计算
PSNR 主要用于比较两幅相同尺寸的图像之间的差异情况,尤其适合用来量化重建效果的好坏。按照给定资料中的描述,当涉及到彩色图片时应先转至 YCbCr 颜色空间再单独考量其亮度分量 y 的表现状况[^2]。以下是具体的实现方法:
```matlab
function psnr_value = calculate_psnr(original_image, noisy_image)
% 如果是RGB图像则转化到YCBCR颜色模式下仅保留亮度部分参与运算
if ndims(original_image)==3 && size(original_image,3)==3
original_ycbcr = rgb2ycbcr(original_image);
noisy_ycbcr = rgb2ycbcr(noisy_image);
original_y = double(original_ycbcr(:,:,1));
noisy_y = double(noisy_ycbcr(:,:,1));
else
original_y = double(original_image);
noisy_y = double(noisy_image);
end
mse = mean((original_y - noisy_y).^2); % 平方误差平均值MSE
max_pixel_val = 255; % 对于8位无符号整型而言最大可能取值为255
psnr_value = 10*log10((max_pixel_val^2)/mse); % 根据定义公式得出最终结果
end
```
上述自定义函数能够接受原始未受损以及含有干扰成分的目标对象作为参数传入,并返回二者间对应的 PSNR 数值表示形式。值得注意的是这里假设所有待测样本均为 uint8 类型的数据集成员之一。
matlab非标准正态分布的期望和方差
在MATLAB中,非标准正态分布通常指的是均值不是0、方差不是1的标准正态分布的线性变换后的分布,即μ(均值)和σ(标准差)都不是0和1的正态分布。对于这种分布,其期望(均值)和方差可以由原标准正态分布的性质推导出来。
期望(均值):
如果X是一个非标准正态分布,它的期望E[X]等于对原始正态变量Z进行线性变换后的系数乘以Z的期望,加上偏置项。即 E[X] = μ = a * E[Z] + b,其中a是Z到X的线性转换因子,b是偏移量。
方差:
方差Var(X)同样基于线性变换,因为方差是对称的二次函数,所以 Var(X) = σ^2 * Var(Z),其中σ^2是Z的标准差的平方,它保持不变,因为标准正态分布的方差是固定的1。然后我们需要考虑到线性变换的影响,这会通过公式 Var(X) = (σ^2) * (a^2),因为线性变换只改变每个值的尺度,不影响随机变量间的相互独立性。
阅读全文
相关推荐
















