Lua中的数学库总结

Lua5.1中数学库的所有函数如下表:

math.pi 为圆周率常量 = 3.14159265358979323846


abs


取绝对值


math.abs(-15)


15


acos


反余弦函数


math.acos(0.5)


1.04719755


asin


反正弦函数


math.asin(0.5)


0.52359877


atan2


x / y的反正切值


math.atan2(90.0, 45.0)


1.10714871


atan


反正切函数


math.atan(0.5)


0.463647609


ceil


不小于x的最大整数


math.ceil(5.8)


6


cosh


双曲线余弦函数


math.cosh(0.5)


1.276259652


cos


余弦函数


math.cos(0.5)


0.87758256


deg


弧度转角度


math.deg(math.pi)


180


exp


计算以e为底x次方值


math.exp(2)


2.718281828


floor


不大于x的最大整数


math.floor(5.6)


5


fmod (mod)


取模运算


math.mod(14, 5)


4


frexp


把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n


math.frexp(10.0)


0.625    4


ldexp


计算value * 2的n次方


math.ldexp(10.0, 3)


80 = 10 * (2 ^3)


log10


计算以10为基数的对数


math.log10(100)


2


log


计算一个数字的自然对数


math.log(2.71)


0.9969


max


取得参数中最大值


math.max(2.71, 100, -98, 23)


100


min


取得参数中最小值


math.min(2.71, 100, -98, 23)


-98


modf


把数分为整数和小数


math.modf(15.98)


15    98


pow


得到x的y次方


math.pow(2, 5)


32


rad


角度转弧度


math.rad(180)


3.14159265358


random


获取随机数


math.random(1, 100)
math.random(100)


获取1-100的随机数


randomseed


设置随机数种子


math.randomseed(os.time())


在使用math.random函数之前必须使用此函数设置随机数种子


sinh


双曲线正弦函数


math.sinh(0.5)


0.5210953


sin


正弦函数


math.sin(math.rad(30))


0.5


sqrt


开平方函数


math.sqrt(16)


4


tanh


双曲线正切函数


math.tanh(0.5)


0.46211715


tan


正切函数


math.tan(0.5)


0.5463024

(0)

相关推荐

  • Lua中的一些常用函数库实例讲解

    前言 这篇文章将会来一些比较轻松的内容,就是简单的介绍一下Lua中几个常用的库.简单的说就是几个API的介绍.所以说,看起来比较容易,也没有多大的分量.就是纯粹的总结.使用库就是为了方便我们的开发,提高开发效率,同时也能保证代码的质量.希望大家以后也不要重复造轮子了. 数学库 数学库(math)由一组标准的数学函数构成.这里主要介绍几个常用的函数,其它的大家可以自行百度解决. 三角函数(sin,cos,tan--) 所有的三角函数都使用弧度单位,可以用函数deg(角度)和rad(弧度)来转换角度

  • 简介Lua脚本与Redis数据库的结合使用

    可能你已经听说过Redis 中嵌入了脚本语言,但是你还没有亲自去尝试吧?  这个入门教程会让你学会在你的Redis 服务器上使用强大的lua语言. Hello, Lua! 我们的第一个Redis Lua 脚本仅仅返回一个字符串,而不会去与redis 以任何有意义的方式交互. 复制代码 代码如下: local msg = "Hello, world!" return msg 这是非常简单的,第一行代码定义了一个本地变量msg存储我们的信息, 第二行代码表示 从redis 服务端返回msg

  • Lua教程(十六):系统库(os库)

    Lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和OS相关的库.但是Lua还提供了一些扩展库,比如Posix库等.对于文件操作而言,该库仅提供了os.rename函数和os.remove函数. 1. 日期和时间: 在Lua中,函数time和date提供了所有的日期和时间功能. 如果不带任何参数调用time函数,它将以数字形式返回当前的日期和时间.如果以一个table作为参数,它将返回一个数字,表示该table中所描述的日期和时间.该table的有效字段如下: prin

  • Lua中的常用函数库汇总

    lua库函数 这些函数都是Lua编程语言的一部分, 点击这里了解更多. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息 collectgarbage() - 垃圾收集器. (新增于1.10.1) date(format, time) - 返回当前用户机器上的时间. error("error message",level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误

  • Nginx+lua 实现调用.so文件

    最近在和智能硬件部门一起,做一个室内定位的服务,该服务根据手机端传过来的beacon设备列表,根据一定的算法计算出具体的商场,并将商场ID和beason设备列表作为参数,调用.so文件中的计算方法,得出位置数据(坐标:x.y.z),返回给手机端. 因为服务对QPS要求比较高,并且都是纯查询操作,于是决定使用Nginx+lua+Redis的架构(该架构在公司内部已成主流,比较成熟).下面我将对lua调用.so文件的方式,做一下介绍. lua调用.so文件,主要有两种方式: 1.Lua直接调用动态链

  • Lua中os库详细介绍

    这个库通过表os实现 os.clock () 功能:返回一个程序使用CPU时间的一个近似值 例如: 复制代码 代码如下: local x = os.clock(); print(os.clock()) local s = 0; for i = 1, 100000000 do       s = s + i; end print(string.format("elapsed time : %.2f\n", os.clock() - x)); 输出: 复制代码 代码如下: 0 elapse

  • Lua中的数学库总结

    Lua5.1中数学库的所有函数如下表: math.pi 为圆周率常量 = 3.14159265358979323846 abs 取绝对值 math.abs(-15) 15 acos 反余弦函数 math.acos(0.5) 1.04719755 asin 反正弦函数 math.asin(0.5) 0.52359877 atan2 x / y的反正切值 math.atan2(90.0, 45.0) 1.10714871 atan 反正切函数 math.atan(0.5) 0.463647609 c

  • Lua中的string库(字符串函数库)总结

    Lua解释器对字符串的支持很有限.一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容.在Lua中操纵字符串的功能基本来自于string库. 字符串库中的一些函数是非常简单的: string.len(s)          返回字符串s的长度: string.rep(s, n)      返回重复n次字符串s的串:你使用string.rep("a", 2^20)可以创建一个1M bytes的字符串(比如,为了测试需要): string.lower(s)

  • Lua中的string库和强大的模式匹配学习笔记

    lua原生解释器对字符串的处理能力是十分有限的,强大的字符串操作能力来自于string库.lua的string函数导出在string module中.在lua5.1,同时也作为string类型的成员方法,因此,我们既可以写成string.upper(s), 也可以s:upper(),选择你喜欢的写法. string.len(s)返回s的长度. string.rep(s, n)返回重复s字符串n次的字符串. string.lower(s)返回一份已将大写转成小写的字符串s的拷贝 lower,upp

  • Lua中的文件I/O操作教程

    Lua中I/O库用于读取和处理文件.有两种类型的文件操作,在Lua即隐含文件的描述符和明确的文件描述符. 对于下面的例子中,我们将使用一个示例文件test.lua,如下图所示. 复制代码 代码如下: -- sample test.lua -- sample2 test.lua 一个简单的文件打开操作使用下面的语句. 复制代码 代码如下: file = io.open (filename [, mode]) 各种文件模式列示于下表中.  隐文件描述符 隐文件描述符使用标准输入/输出模式,或使用单输

  • Lua中的metatable介绍

    setmetatable (table, metatable) Lua 中的每个值都可以用一个 metatable. 这个 metatable 就是一个原始的 Lua table , 它用来定义原始值在特定操作下的行为. 你可以通过在 metatable 中的特定域设一些值来改变拥有这个 metatable 的值 的指定操作之行为. 举例来说,当一个非数字的值作加法操作的时候, Lua 会检查它的 metatable 中 "__add" 域中的是否有一个函数. 如果有这么一个函数的话,

  • 在Lua中使用模块的基础教程

     什么是模块? 模块是一个像,可以使用需要加载并有包含表中的单个全局命名的库.该模块可包含若干函数和变量.所有这些函数和变量被包裹在以它作为一个命名空间的表.也是一个很乖的模块有必要的规定,返回此表上所需要的. Lua模块 表中的模块的使用可以帮助我们以多种方式,使我们能够操纵模块中我们操纵任何其他lua的表相同的方式.作为操纵模块的能力的结果,它提供了额外的功能的量等语言需要特殊的机制.由于lua模块,这个免费的方式下,用户可以调用Lua函数以多种方式.如下面几个: 复制代码 代码如下: --

  • Lua中基本的数据类型、表达式与流程控制语句讲解

    1. Lua类型 1.1 基本类型 Lua是一种动态类型语言,没有类型定义的语法.Lua一共有8种基础类型:nil(空).boolean(布尔).number(数字).string(字符串).userdata(自定义类型).function(函数).thread(线程).table(表). 函数type可根据一个值返回其类型名称(字符串),如print(type(print)),输出"function":print(type(type(X))) ,输出"string"

  • 解析Lua中的全局环境、包、模块组织结构

    模块就是一个程序库,而包是一系列模块.Lua中可以通过require来加载模块,然后得到一个全局变量表示一个table.Lua将其所有的全局变量保存在一个被称为"环境"的常规table中.本文首先介绍环境的一些实用技术,然后介绍如何引用模块及编写模块的基本方法. 1. 环境 Lua将环境table保存在一个全局变量_G中,可以对其访问和设置.有时我们想操作一个全局变量,而它的名称却存储在另一个变量中,或者需要通过运行时的计算才能得到,可以通过value = _G[varname]来获得

随机推荐