matlab添加噪声和离群点
时间: 2023-10-31 13:01:27 浏览: 281
使用matlab给信号添加某一信噪比的噪声
在Matlab中添加噪声和离群点可以使用以下方法:
1. 添加高斯噪声:
可以使用Matlab中的`randn()`函数生成高斯噪声。例如,以下代码将在均值为0,标准差为1的高斯分布中生成100个随机数,并将其添加到一个名为`data`的向量中。
```matlab
data = randn(1, 100); % 生成100个随机数
noise = 0.1 * randn(1, 100); % 生成均值为0,标准差为0.1的高斯噪声
noisy_data = data + noise; % 将噪声添加到数据中
```
2. 添加离群点:
可以使用Matlab中的`rand()`函数生成随机数,并将其添加到数据中。例如,以下代码将在0到1之间生成10个随机数,并将其中的5个随机数替换为10和20之间的随机数,从而创建一个包含离群点的向量。
```matlab
data = rand(1, 10); % 生成10个随机数
outliers = randi([10 20], 1, 5); % 生成5个10到20之间的随机数作为离群点
idx = randperm(length(data)); % 随机选择要替换的数据点
data(idx(1:5)) = outliers; % 将随机选择的数据点替换为离群点
```
请注意,上述代码中使用了`randi()`函数来生成10到20之间的随机数。如果需要生成其他范围内的随机数,请相应地更改`randi()`函数的参数。
阅读全文