matlab mvnpdf函数例子
时间: 2023-08-06 20:16:54 浏览: 215
下面是一个简单的例子,演示如何使用matlab的mvnpdf函数计算多元正态分布概率密度函数。
假设我们有一个二维正态分布,其均值向量为[1,2],协方差矩阵为[2,1;1,2],现在要计算点[2,3]处的概率密度值。
```matlab
% 定义均值向量和协方差矩阵
mu = [1, 2];
sigma = [2, 1; 1, 2];
% 计算点[2,3]处的概率密度值
x = [2, 3];
pdf = mvnpdf(x, mu, sigma);
% 输出结果
fprintf('点[%d,%d]处的概率密度值为%f\n', x(1), x(2), pdf);
```
运行结果为:
```
点[2,3]处的概率密度值为0.048394
```
这说明点[2,3]处的概率密度值为0.048394,即点[2,3]处的概率密度比较低,相对而言比较稀疏。
相关问题
matlab中mvnpdf函数用法
Matlab中的`mvnpdf`函数用于计算多元正态分布的概率密度函数值。多元正态分布是指具有多个随机变量的正态分布,其概率密度函数形式如下:
$$
f(x) = \frac{1}{\sqrt{(2\pi)^k |\Sigma|}} \exp\left(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right)
$$
其中,$x$ 是一个 $k$ 维列向量,$\mu$ 是一个 $k$ 维列向量,表示分布的均值向量,$\Sigma$ 是一个 $k\times k$ 的协方差矩阵。
`mvnpdf`函数的用法如下所示:
```matlab
p = mvnpdf(X, mu, Sigma)
```
其中,`X` 是一个 $n\times k$ 的矩阵,表示 $n$ 个 $k$ 维样本点,`mu` 是一个 $1\times k$ 的行向量,表示分布的均值向量,`Sigma` 是一个 $k\times k$ 的协方差矩阵。
`mvnpdf`函数的返回值 `p` 是一个 $n\times 1$ 的列向量,表示每个样本点的概率密度函数值。
以下是一个使用`mvnpdf`函数计算多元正态分布概率密度函数值的例子:
```matlab
% 定义多元正态分布的均值向量和协方差矩阵
mu = [0 0];
Sigma = [1 0.5; 0.5 2];
% 生成样本点
x1 = linspace(-3,3,100);
x2 = linspace(-3,3,100);
[X1,X2] = meshgrid(x1,x2);
X = [X1(:) X2(:)];
% 计算概率密度函数值
p = mvnpdf(X, mu, Sigma);
% 绘制概率密度函数图像
p = reshape(p, length(x2), length(x1));
figure;
surf(x1,x2,p);
xlabel('x1');
ylabel('x2');
zlabel('Probability Density');
```
上述代码将绘制出多元正态分布的概率密度函数图像。
用matlab生成高斯函数f(x,y)
在MATLAB中,可以使用内置的函数`mvnpdf`来生成二维高斯函数(也称为多元正态分布函数)`f(x,y)`,其数学表达式为:
\[ f(x, y | \mu_x, \mu_y, \sigma_x^2, \sigma_y^2, \rho) = \frac{1}{2\pi\sqrt{\det(\Sigma)}} e^{-\frac{1}{2}((x-\mu_x)^T\Sigma^{-1}(x-\mu_x) + (y-\mu_y)^T\Sigma^{-1}(y-\mu_y))} \]
其中:
- `x` 和 `y` 是变量,
- `\mu_x` 和 `\mu_y` 是均值(中心点),
- `\sigma_x^2` 和 `\sigma_y^2` 是每个维度的方差,
- `\rho` 是两个变量之间的皮尔逊相关系数(0表示独立,-1到1之间表示负相关到正相关),
- `\Sigma` 是协方差矩阵,`\Sigma = \begin{bmatrix} \sigma_x^2 & \rho\sigma_x\sigma_y \\ \rho\sigma_x\sigma_y & \sigma_y^2 \end{bmatrix}`。
下面是一个简单的例子,展示如何生成一个二维高斯函数:
```matlab
% 定义参数
mu_x = 0;
mu_y = 0;
sigma_x = 1;
sigma_y = 1;
rho = 0.5; % 正相关
% 创建网格
[x, y] = meshgrid(-4:.1:4, -4:.1:4);
% 计算协方差矩阵
covariance = [sigma_x^2 rho * sigma_x * sigma_y; rho * sigma_x * sigma_y sigma_y^2];
% 生成高斯函数
f_xy = mvnpdf([x(:), y(:)], [mu_x, mu_y], covariance); % reshape返回原大小的矩阵
% 绘制结果
surf(x, y, reshape(f_xy, size(x)))
xlabel('X')
ylabel('Y')
zlabel('f(x,y)')
title('二维高斯分布')
```
在这个例子中,你可以通过改变`mu_x`, `mu_y`, `sigma_x`, `sigma_y`, 和 `rho`的值,生成不同位置、尺度和相关性的二维高斯函数。
阅读全文
相关推荐
















