matlab radn,如何用matlab编写randn函数?

MATLAB函数randn

功能:产生标准正态分布的随机数或矩阵的函数。

用法:

Y = randn(n)

返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。

Y = randn(m,n) 或 Y = randn([m n])

返回一个m*n的随机项矩阵。

Y = randn(m,n,p,...) 或 Y = randn([m n p...])

产生随机数组。

Y = randn(size(A))

返回一个和A有同样维数大小的随机数组。

randn

返回一个每次都变化的数量。

程序示例:

Example 1. R = randn(3,4) 将生成矩阵

R =

1.1650 0.3516 0.0591 0.8717

0.6268 -0.6965 1.7971 -1.4462

0.0751 1.6961 0.2641 -0.7012

For a histogram of the randn distribution, see hist.

Example 2. 产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:

x = .6 + sqrt(0.1) * randn(5)

x =

0.8713 0.4735 0.8114 0.0927 0.7672

0.9966 0.8182 0.9766 0.6814 0.6694

0.0960 0.8579 0.2197 0.2659 0.3085

0.1443 0.8251 0.5937 1.0475 -0.0864

0.7806 1.0080 0.5504 0.3454 0.5813

Example 3.设置randn到其默认的初始状态格式:randn('state', 0);每次初始化randn到不同的状态的格式randn('state', sum(100*clock))。

如何用randn产生两个相同的矩阵:

s = randn('state');%保存当前状态,

u1 = randn(100);%产生100个值,

randn('state',s);%复位状态,

u2 = randn(100); %并重复序列。格式调用如下:

s = randn('state');

u1 = randn(3)

randn('state',s);

u2 = randn(3)

运行结果如下:

u1 =1.6039 0.8957 -0.1072

-0.3728 -1.3913 -0.8276

0.7578 0.3116 0.0592

u2 =1.6039 0.8957 -0.1072

-0.3728 -1.3913 -0.8276

0.7578 0.3116 0.0592

从结果可以看出,这两个矩阵的各个元素均相同,所以这两个就是等价矩阵。

其他类似函数:rand, randperm, sprand, sprandn

Y = randn(n)

Y = randn(m,n)

Y = randn([m n])

Y = randn(m,n,p,...)

Y = randn([m n p...])

Y = randn(size(A))

randn

s = randn('state')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值