
randn是MATLAB中用于生成标准正态分布(均值为0,标准差为1)随机数或矩阵的函数 。
其核心功能是通过不同参数调用生成指定维度的随机数组,支持生成标量、矩阵及多维数组,并能依据现有数组的维度创建匹配的随机数据。该函数生成实数时遵循标准正态分布:f(x)=1/√2π e{-x^2/2},生成复数时(如使用命令randn(...,like=1i))则遵循标准复杂正态分布:f(z)=1/π e{-|z|^2}。其底层是伪随机数生成器,产生的序列由内部均匀伪随机数生成器控制,该生成器也用于rand、randi和randn,可以使用rng函数来控制这个共享的随机数生成器 。用户可通过调整输出数据的标准差和均值生成自定义分布,例如生成均值为0.6、方差为0.1的5*5矩阵。
randn在MATLAB R2006a之前引入 。其状态控制机制早期通过randn('seed',...)、randn('state',...)等语法实现,这些语法现已不再推荐使用。建议使用rng函数替代旧语法以控制rand、randn、randi等函数共享的生成器。从MATLAB R2023b开始,用户可以在设置中更改随机数生成器的默认算法和种子 。
想要了解更多“randn”的信息,请点击:randn百科
