matlab编程绘制出白噪声信号、正弦波信号、方波信号和三角波信号的概率密度曲线和概率分布曲线具体代码
时间: 2024-12-06 17:23:18 浏览: 185
在MATLAB中,你可以使用`randn`函数生成白噪声信号,`sin`、`square`和`triang`函数分别创建正弦波、方波和三角波信号,然后利用`histogram`和`pdf`函数制作概率密度曲线(直方图)和概率分布曲线(累积分布函数)。这里是一个基本的示例:
```matlab
% 生成随机数据
white_noise = randn(1000, 1); % 白噪声,假设1000个样本
sine_wave = sin(2*pi*10*[0:0.01:1]); % 正弦波,频率为10 Hz
square_wave = square(2*pi*50*[0:0.01:1]); % 方波,频率为50 Hz
triangle_wave = triang(2*pi*75*[0:0.01:1]); % 三角波,频率为75 Hz
% 绘制直方图(概率密度)
figure;
subplot(2,2,1)
histogram(white_noise, 'Normalization', 'pdf') % 白噪声PDF
title('White Noise PDF')
xlabel('Value')
ylabel('Probability Density')
subplot(2,2,2)
histogram(sine_wave, 'Normalization', 'pdf') % 正弦波PDF
title('Sine Wave PDF')
xlabel('Value')
subplot(2,2,3)
histogram(square_wave, 'Normalization', 'pdf') % 方波PDF
title('Square Wave PDF')
xlabel('Value')
% 绘制累积分布函数(概率分布)
figure;
subplot(2,2,4)
plot(cumsum(pdf(white_noise)), 'LineWidth', 2) % 白噪声CDF
title('White Noise CDF')
xlabel('Value')
ylabel('Cumulative Probability')
for i = 1:2
subplot(2,2,i+2)
plot(cumsum(pdf(get(i,1)))), 'LineWidth', 2) % 其他信号的CDF
title(sprintf('%s Wave CDF', get(i,2)))
end
```
注意:这只是一个简化的例子,实际应用中可能需要调整参数和图形设置以获得更好的可视化效果。运行这段代码之前,确保已经安装了MATLAB并有绘图库支持。
阅读全文
相关推荐



















