三个高斯分量的MATLAB程序
时间: 2024-10-15 22:14:26 浏览: 15
matlab对rgb三个通道进行高斯卷积.rar
3星 · 编辑精心推荐
在MATLAB中创建一个包含三个高斯分布(也称为正态分布)的程序,可以用于演示概率密度函数或者数据拟合等应用。以下是一个简单的示例:
```matlab
% 定义高斯分布函数 (Normal Distribution)
function pdf = three_gaussians(x, mu1, sigma1, mu2, sigma2, mu3, sigma3)
% 参数
pdf1 = normpdf(x, mu1, sigma1); % 第一个高斯分量
pdf2 = normpdf(x, mu2, sigma2); % 第二个高斯分量
pdf3 = normpdf(x, mu3, sigma3); % 第三个高斯分量
% 总和,每个分量的PDF相加
pdf = pdf1 + pdf2 + pdf3;
end
% 示例使用
x = -5:0.1:5; % x轴范围
mu1 = 0; % 第一个高斯中心
sigma1 = 1; % 第一个高斯标准差
mu2 = 2; % 第二个高斯中心
sigma2 = 1.5; % 第二个高斯标准差
mu3 = -3; % 第三个高斯中心
sigma3 = 0.8; % 第三个高斯标准差
y = three_gaussians(x, mu1, sigma1, mu2, sigma2, mu3, sigma3);
plot(x, y, 'LineWidth', 2); % 绘制三个高斯分布
xlabel('X'); % X轴标签
ylabel('Probability Density'); % Y轴标签
title('Three Gaussian Components'); % 图像标题
grid on; % 显示网格线
legend('mu1 = 0, sigma1 = 1', 'mu2 = 2, sigma2 = 1.5', 'mu3 = -3, sigma3 = 0.8'); % 添加图例
```
阅读全文