matlab双峰正态分布
时间: 2023-08-20 16:10:38 浏览: 594
在MATLAB中,要生成双峰正态分布,你可以使用`makedist`函数来创建自定义分布对象,并使用`pdf`函数来计算概率密度函数。
以下是一个使用MATLAB生成双峰正态分布的示例代码:
```matlab
% 设置参数
mu1 = 2; % 第一个峰的均值
sigma1 = 0.5; % 第一个峰的标准差
mu2 = 5; % 第二个峰的均值
sigma2 = 1; % 第二个峰的标准差
% 创建自定义分布对象
pd1 = makedist('Normal', 'mu', mu1, 'sigma', sigma1);
pd2 = makedist('Normal', 'mu', mu2, 'sigma', sigma2);
% 生成样本数据
data1 = random(pd1, 1000);
data2 = random(pd2, 1000);
data = [data1; data2];
% 绘制直方图
histogram(data, 'Normalization', 'pdf');
hold on;
% 计算概率密度函数
x = linspace(min(data), max(data), 100);
y1 = pdf(pd1, x);
y2 = pdf(pd2, x);
plot(x, y1, 'r', 'LineWidth', 2);
plot(x, y2, 'g', 'LineWidth', 2);
% 添加图例和标签
legend('双峰正态分布数据', '第一个峰概率密度函数', '第二个峰概率密度函数');
xlabel('x');
ylabel('概率密度');
title('双峰正态分布');
```
这段代码将生成一个包含两个峰的双峰正态分布的直方图,并绘制了两个峰的概率密度函数。你可以根据需要调整均值和标准差的值来改变分布的形状。
阅读全文
相关推荐


















