多元正态分布matlab
时间: 2024-03-20 18:37:16 浏览: 152
多元正态分布是指具有多个随机变量的正态分布。在MATLAB中,可以使用mvnpdf函数来计算多元正态分布的概率密度函数值,使用mvnrnd函数来生成多元正态分布的随机样本。
以下是使用MATLAB进行多元正态分布的示例代码:
1. 计算多元正态分布的概率密度函数值:
```matlab
% 设置均值向量和协方差矩阵
mu = [1 2]; % 均值向量
sigma = [1 0.5; 0.5 2]; % 协方差矩阵
% 生成一个二维网格
[x, y] = meshgrid(-5:0.1:5, -5:0.1:5);
xy = [x(:) y(:)];
% 计算概率密度函数值
pdf_values = mvnpdf(xy, mu, sigma);
% 绘制概率密度函数图像
pdf_values = reshape(pdf_values, size(x));
surf(x, y, pdf_values);
xlabel('X');
ylabel('Y');
zlabel('Probability Density');
```
2. 生成多元正态分布的随机样本:
```matlab
% 设置均值向量和协方差矩阵
mu = [1 2]; % 均值向量
sigma = [1 0.5; 0.5 2]; % 协方差矩阵
% 生成随机样本
sample_size = 1000;
samples = mvnrnd(mu, sigma, sample_size);
% 绘制散点图
scatter(samples(:, 1), samples(:, 2));
xlabel('X');
ylabel('Y');
```
希望以上代码能够帮助你理解和使用MATLAB中的多元正态分布函数。
阅读全文