数学库(math)

数学库由一组标准的数学函数构成,包括三角函数(sin,cos,tan,atan等)、指数和对数函数(exploglog10)、取整函数(floorceil)、maxmin、生成伪随机数的函数(randomrandomseed),以及变量pihuge。其中hugeLua中可以表示最大的数字。

     1、所有的三角函数都使用弧度单位,可以用函数degrad来转换角度和弧度。如果使用角度单位,可以像这样重新定义三角函数:

     local sin,asin = math.sin,math.asin

     local deg,rad = math.deg,math.rad

     math.sin = function(x) return sin(rad(x)) end

     math.asin = function(x) return deg(asin(x)) end

     2math.random用于生成伪随机数,可以用3种方式来调用它。如果在调用它时不提供任何参数,它将返回一个在区间[0,1]内均匀分布的伪随机实数。如果提供了一个整数n作为参数,它将返回一个在区间[1n]内的伪随机整数。例如math.random(6)  --区间[1,6]

     3math.randomseed用于设置伪随机数生成器的种子数,它的唯一参数就是这个种子数。对此通常的解决方法是使用当前时间作为种子数:

     math.randomseed(os.time())

     函数os.time返回一个表示当前时间的数字,一般这个数字表示从某个时间点开始到至今的秒数

     4Lua生成随机数需要用到两个函数:

math.randomseed(xx)math.random([n [, m]])

1. math.randomseed(n) 接收一个整数 n作为随机序列种子。

2. math.random([n [, m]]) 有三种用法: 无参调用, 产生 (0,1) 之间的浮点随机数; 只有参数n, 产生1-n 之间的整数; 有两个参数nm, 产生 n-m 之间的随机整数

建议使用方式如下:

math.randomseed(tostring(os.time()):reverse():sub(1, 6)) --time返回的数值字串倒过来(低位变高位),再取高位6位。这样,即使time变化很小,但是因为低位变了高位,种子数值变化却很大,就可以使伪随机序列生成的更好一些

----然后不断产生随机数  

for i=1, 5 do  

 print(math.random())  

end

      5、所有的库函数

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值