math.hypot java_java中Math常用的数学函数

最近AI比较火,于是没事自己看下深度学习等方面的文章。  深度学习中的各种算法,用到了数学领域的很多公式、函数,回头想要敲代码熟悉一下这些算法时,发现很多公式、函数不用用代码写了,还要翻Math类。所以在这里记录一下Math中常用的函数,以备不时之需。

Math.E                          //自然常数e=2.7182818284590452354

Math.abs(12.3);                 //12.3 返回该值的绝对值

Math.abs(-12.3);                //12.3

Math.copySign(1.23, -12.3);     //-1.23,返回第一个参数的量值和第二个参数的符号

Math.copySign(-12.3, 1.23);     //12.3

Math.signum(x);                 //如果x大于0则返回1.0,小于0则返回-1.0,等于0则返回0

Math.signum(12.3);              //1.0

Math.signum(-12.3);             //-1.0

Math.signum(0);                 //0.0

//指数

Math.exp(x);                    //e的x次幂

Math.expm1(x);                  //e的x次幂 - 1

Math.scalb(x, y);               //x*(2的y次幂)

Math.scalb(12.3, 3);            //12.3*2³

//取整

Math.ceil(12.3);                //返回最近的且大于该值的整数13.0

Math.ceil(-12.3);               //-12.0

Math.floor(12.3);               //返回最近的且小于该值的整数12.0

Math.floor(-12.3);              //-13.0

//x和y平方和的二次方根

Math.hypot(x, y);               //√(x²+y²)

//返回该值的二次方根

Math.sqrt(x);                   //√(x) x的二次方根

Math.sqrt(9);                   //3.0

Math.sqrt(16);                  //4.0

//返回该值的立方根

Math.cbrt(27.0);                //3

Math.cbrt(-125.0);              //-5

//对数函数

Math.log(e);                    //1 以e为底的对数

Math.log10(100);                //10 以10为底的对数

Math.log1p(x);                  //Ln(x+ 1)

//返回较大值和较小值

Math.max(x, y);                 //返回x、y中较大的那个数

Math.min(x, y);                 //返回x、y中较小的那个数

//返回x的y次幂

Math.pow(x, y);

Math.pow(2, 3);                 //即2³ 即返回:8

//随机返回[0,1)之间的无符号double值

Math.random();

//返回最接近该值的整数,如果居中,则取偶数

Math.rint(12.3);                //12.0

Math.rint(-12.3);               //-12.0

Math.rint(78.9);                //79.0

Math.rint(-78.9);               //-79.0

Math.rint(34.5);                //34.0

Math.rint(35.5);                //36.0

Math.round(12.3);               //与rint相似,返回值为long

//三角函数

Math.sin(α);                    //sin(α)的值

Math.cos(α);                    //cos(α)的值

Math.tan(α);                    //tan(α)的值

//求角

Math.asin(x/z);                 //返回角度值[-π/2,π/2]  arc sin(x/z)

Math.acos(y/z);                 //返回角度值[0~π]   arc cos(y/z)

Math.atan(y/x);                 //返回角度值[-π/2,π/2]

Math.atan2(y-y0, x-x0);         //同上,返回经过点(x,y)与原点的的直线和经过点(x0,y0)与原点的直线之间所成的夹角

Math.sinh(x);                   //双曲正弦函数sinh(x)=(exp(x) - exp(-x)) / 2.0;

Math.cosh(x);                   //双曲余弦函数cosh(x)=(exp(x) + exp(-x)) / 2.0;

Math.tanh(x);                   //tanh(x) = sinh(x) / cosh(x);

//角度弧度互换

Math.toDegrees(angrad);         //角度转换成弧度,返回:angrad * 180d / PI

Math.toRadians(angdeg);         //弧度转换成角度,返回:angdeg / 180d * PI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值