MATLAB学习笔记(4)---- 常量和随机数

常量

  • 一些常量,在没有显式定义变量名的时候,i或者j表示虚数,pi表示π。如果我们定义了一个名字为i、j、pi的变量,那么i、j将不再表示虚数,pi不再表示π。因此我们用1i、1j、1pi来表示这些常量,这是绝对安全的。
  • Inf表示正无穷,-Inf表示负无穷。
  • NaN是not a number的缩写,比如我们输入0 / 0,则返回一个NaN。

随机数

  在MATLAB中,我们用rand()函数来生成随机数。随机数用法参考文档即可。这里主要介绍rand()函数实现原理。

  rand()函数是根据这样一个函数来生成随机数的:该函数值域为[0, 1],其分布极其密集、极其不规律,可能f(0.1)和f(0.100000000000001)的值相差很大。rand()函数在最开始随机生成一个a后,下一次执行rand()函数,将a代入该函数,得到一个新的随机数,用这个随机数更新a。以此循环,可以得到一个global list的表,记录rand()函数生成的随机数及其顺序。

  然而,这有一个缺点,那就是第一个a是确定的,也就是说,global list是唯一的,这时,我们可以用rng()函数来定义一个seed,rand()函数会根据这个seed来生成随机数,这样global list就不唯一了。

rng全称random number generator,其接受一个非负整数参数,小于2^32的非负整数参数,如果参数为负数则报错,如果参数为小数则向下取整。

其生成器初始化选项如下:
0					用种子 0 初始化生成器。
正整数				用指定的正整数种子(如 1)初始化生成器。
'default'			用种子 0 初始化梅森旋转生成器。这是每个 MATLAB 会话开始时的默认设置。
'shuffle'			根据当前时间初始化生成器,在每次调用 rng 后会产生一个不同的随机数序列。
结构体				基于结构体中包含的设置初始化生成器,结构体包含字段 Type、Seed 和 State。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值