MATLAB给数据加噪声/扰动
·
# 个人记录
自己关于给图像加噪声的实验,见文件:Add_Noise_to_Image.mlx。网页记录:https://blog.csdn.net/Dust_Evc/article/details/125583315
# 个人记录
正态分布噪声、高斯噪声:
生成一个维度为Custom_size,均值为Mean,方差为Var的噪声:
Noise = Mean + sqrt(Var)*randn(Custom_size);
其中,randn()
返回一个从标准正态分布中(均值为0,方差为1)得到的随机标量。
例1:
K>> Test = 3 + sqrt(0.5)*randn(1,102400); R = [mean(Test),sum((Test(1,:)-mean(Test)).^2)/(length(Test)-1)]
R =
3.0017565021829 0.501380264755088
例2:
K>> Test = -7 + sqrt(0.01)*randn(1,102400); R = [mean(Test),sum((Test(1,:)-mean(Test)).^2)/(length(Test)-1)]
R =
-7.00017236519557 0.0100363870325614
给原始数据RawData加上相对误差水平为Error_level的噪声:
NoiseData = RawData + Error_level*randn(size(RawData));
例:
给正弦函数生成的数据加上相对误差水平为0.1的噪声:
% 定义函数f(x)
f = @(x) sin(x);
% 生成离散点
x1 = 0:1/100:2*pi;
F_Noise = f(x1) + 0.1*randn(size(x1)).*f(x1);
figure
plot(x1,F_Noise)
这里的相对误差水平0.1也是上面的标准差,即sqrt(Var)
参考自/推荐阅读:
更多推荐
已为社区贡献17条内容
所有评论(0)