Matlab_P3常数和随机数

本文介绍了MATLAB中预定义的常数如π和虚数i的使用注意事项,复数的表示方法,以及正无穷、负无穷和NaN的概念。重点讲解了伪随机数生成函数rand()和其变种,以及如何通过rng()函数获取真正随机数。
摘要由CSDN通过智能技术生成

常数:

 圆周率:

  •      matlab中存在一些已经规定好的常量,你给常量,例如:给pi赋值,matlab会认为你是创建了一个叫作pi的变量,但是修改之后就会把它常数的意义覆盖,对函数也是如此,所以还是不要对这些常量做赋值,例如:圆周率pi、虚数i; 

复数:

  •        输入i,会返回如下图的一串,未选中部分0.00000是i的实部,选中部分1.00000是i的虚部,然后可以做有关复数的运算

 

  •        因为在物理学中,用j代表虚数,所以我们输入j也可以表示虚数:

  •        因为呢,有时候我们写for循环习惯用到i或j来作循环限制条件,这时候原本 与 的意义就会被覆盖1,可以通过在 或 的前面加上数字1来告诉matlab你要表示的是虚数,*号可以省略

 正无穷与负无穷:

  •        Inf表示正无穷,加个负号就表示负无穷-Inf,例如:1/0就会产生正无穷,-1/0就会产生负无穷,而1除以正无穷就是0

NaN:Not a Number

  •        这就已知,double支持正无穷、负无穷、NaN的形式

随机数:

命令形式:

  •       命令行窗口输入形式:rand()rand,记得输入时,键盘要是英文状态

怎么来的:

  •        从上图发现,matlab给的随机数在经过rng命令之后,重复了,这是因为matlab中的随机数其实是算出来的,本质上应该叫伪随机数 ,本质上matlab中的随机数是matlab中的一个函数产生的,这个函数的图是一个没有规律,但是变化速率又非常快,就是震荡频率很快,如下图,这就导致,当x = 1和x = 1.00000001时,虽然自变量很接近但是它们的结果却可能差别很大

  •        但是当我们每一次去启动这个函数,它总是从x = 1开始,就是如果你输入rand,那么matlab会让x = 1,然后得出0.417返回,而这随机数的第一个值通常叫随机数种子,然后后一次将前一次的结果,即x = 0.417作为输入再产生结果就是0.7203,以此类推,那么这个rng(1)的意义就是让matlab从头来,就是再次让x = 1,于是就会产生相同的随机数,也是伪随机数,这里面的1是可以更改的,但是最后会取整数部分,所以你改成0.2和0.3产生的随机数是一样的

返回不同性质的随机数: 

  •        randn()是让matlab产生正态分布的随机数
  •        randi([a,b])是返回一个在a~b范围内的随机整数,包括a与b

真正的随机数: 

  •        我们都知道,直接用命令rand()产生的是伪随机数 ,而我们如何产生真正意义上的随机数呢,可以使用rng('shuffle')命令让matlab根据你当前的日期(年、月、日),时间(时、分、秒)来作为其中专门产生随机数的函数的输入来产生一个结果,这样基本上就不会出现重复的情况

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手打猪大屁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值