指点成金-最美分享吧

登录

MATLAB生成多元正态分布随机数(指定均值及协方差)——mvnrnd函数详解

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了MATLAB生成多元正态分布随机数(指定均值及协方差)——mvnrnd函数详解相关的知识,希望对你有一定的参考价值。

文章目录

  • 代码
  • mvnrnd输入参数
    • mu——多元正态分布的均值
    • sigma——多元正态分布的协方差
    • n——多元随机数的个数
  • mvnrnd输出参数
    • R——多元正态随机数


代码

生成指定均值向量为(3, 2),协方差矩阵为 ( 1 1.5 1.5 4 ) \\left(\\beginaligned&1&1.5\\\\&1.5&4\\endaligned\\right) (11.51.54)的二元正态分布的随机数:

mu = [3 2]; % 均指向量nov = [1 1.5; 1.5 4]; % 协方差矩阵% 生成100个二元正态分布随机数R = mvnrnd(mu, nov, 100);% 绘制二元正态分布散点图scatter(R(:,1),R(:,2),'filled');grid on;


mvnrnd输入参数

mu——多元正态分布的均值

:数值向量 | 数值矩阵

含义:多元正态分布的平均值,指定为 1×d数值向量m×d数值矩阵。如果 mu 是一个向量,那么 mvnrd 复制该向量以匹配 sigma 的后续维度。如果 mu 是一个矩阵,那么 mu 的每一行就是单个多元正态分布的均值向量。

数据类型:整型 | 双精度浮点型


sigma——多元正态分布的协方差

:对称半正定矩阵 | 数字数组

含义:多元正态分布的协方差,指定为 d×d对称半正定矩阵d×d×m 数值数组。如果 sigma 是一个矩阵,那么 mvnrnd 复制该矩阵以匹配 mu 中的行数。如果 sigma 是一个数组,那么 sigma 的每一个元素,sigma(: , :, i) 是单个多元正态分布的协方差矩阵,因此是一个对称的半正定矩阵。

如果协方差矩阵是对角矩阵,包含沿对角线的方差和零协方差,则还可以将 sigma 指定为 1×d向量 或 仅包含对角线项的1×d×m数组

数据类型:整型 | 双精度浮点型


n——多元随机数的个数

:正标量整数

含义:多变量随机数的数目,指定为正标量整数。n 指定 R 中的行数。

数据类型:整型 | 双精度浮点型


mvnrnd输出参数

R——多元正态随机数

:数值矩阵

多元正态随机数,返回为以下值之一:

  • mxd数值矩阵,其中 m 和 d 是由 μ 和 σ 指定的尺寸
  • n×d数值矩阵,其中 n 是指定的输入参数,d 是由 mu 和 sigma 指定的维数

如果 mu 是矩阵,sigma 是数组,那么 mvnrnd 使用 mu(i, : ) 和 sigma(:, :, i) 计算 R(i, : )。

以上是关于MATLAB生成多元正态分布随机数(指定均值及协方差)——mvnrnd函数详解的主要内容,如果未能解决你的问题,请参考以下文章