Java Math 反正弦asin反余弦acos函数使用注意事项
大家都知道,函数sin和cos的值的范围为[-1,1]。
在计算机中,由于计算位数有限,导致运算产生误差。对于32位计算机,该误差已经降低到非常非常小了,而64位和128就更小了。然,不管怎样,即使是1/(2^32)甚至1/(2^128),那也是事实存在可以被计算机识别的。
当采用Java Math的反正弦和反余弦函数时,如果参数存在那样的误差,那就悲剧了。
所以,如果参与反正弦和反余弦计算的参量param是通过某一运算得到的,那么在对其进行反正弦和反余弦计算之前,一定要先进行处理
if(param<-1.0)
param=-1.0;
else if(param>1.0)
param=1.0;
否则,就会出现NaN的数据了。
如果说计算中的param会出现2.0、100或者其他更大参数的,那另当处理,这里只是确保param在-1到1之间,只是由于计算精度问题产生的<-1.0和>1.0的情况可通过此方法进行屏蔽。
Java Math 反正弦asin反余弦acos函数使用注意事项相关推荐
- java中反三角函数怎么写,Java 数学三角函数正弦、余弦、正切以及反正弦、反余弦、反正切函数的使用...
Java 数学三角函数正弦.余弦.正切以及反正弦.反余弦.反正切函数的使用 Java中数据三角函数在Math类里面有封装好的对应方法,正弦函数是sin方法,余弦函数是cos方法,正切函数是tan方法, ...
- java 反余弦_Java acos() 方法
Java acos() 方法 acos() 方法用于返回指定double类型参数的反余弦值. 语法 double acos(double d) 参数 d -- 任何原生数据类型. 返回值 返回指定do ...
- math java 计算_Java中的数学计算函数汇总
Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...
- 在java中如何输入角度_在Java中获取角度的反余弦
为了获得Java中给定值的反余弦,我们使用java.lang.Math.acos()方法.该acos()方法接受需要计算角度的双精度值.返回的角度范围在0到pi之间.如果参数为NaN或大于1或小于-1 ...
- matlab 分段函数 反余弦
一.矩阵表达式的分段函数 eg: 其中 H,B,G,θ 为mxn的同维矩阵.上式指矩阵具体元素. % if b<=g % H=theta/360; % else H=1-thet ...
- 如何用反余弦求pi c语言,acos()_C语言acos()详解:反余弦函数,求反余弦值
double acos(double x); acos() 函数的功能是求反余弦值. 反余弦函数 acos() 和余弦函数 cos() 的功能恰好相反:cos() 是已知一个角的弧度值 x,求该角的余 ...
- Java Math.round()函数小结
Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(1 ...
- JAVA Math函数向上取整和向下取整
JAVA Math函数向上取整和向下取整, 向上取整用Math.ceil(double a) 向下取整用Math.floor(double a) 举例: double a=35; double b=2 ...
- Java Math类方法介绍之史上最全
Java Math类方法介绍之史上最全 开发中用到了Java Math类的方法,故温习记录如下. /*** 常量*/System.out.println("------>" ...
最新文章
- ORACLE学习笔记--性能优化2
- 服务器安装Windows Server + Ubuntu双系统
- “多态枚举”数值如何判断?
- HierarchicalBeanFactory接口
- 电脑位数怎么看_看完了这篇文章你就知道怎么选电脑了...
- c语言函数man,Linux下C语言编程有困难找man
- winfrom 如何让弹窗不影响主界面_「Win」电脑开机后不给我弹几个广告,我还不太习惯...
- unity如何检测内存泄漏_如何排查Java内存泄漏?看懂这一篇就够用了
- js隐藏div和class
- rs485如何使用_气体检测仪rs485和4-20ma接线方式有什么区别,该如何选择最优的接线方式...
- Qt 之 QEvent
- powerDesigner Could not Initialize JavaVM解决
- AMI,HDB3编码译码
- 在Linux下用sopcast/qsopcast收看网络电视
- linux 修改ftp默认端口号,在linux中添加ftp用户,以及修改FTP默认端口号
- 三大框架之---MyBaits第二章
- 各种抠图动态图片_抠图动画
- 基于ARM的智能灯光控制系统(4)数据结构
- 世界上最会写爱情的人,其实是金庸
- 小萨村的激光SLAM学习笔记
热门文章
- vue-element上传获取视频的时长
- 【应用分身】下载支持应用分身的应用(QQ),开启应用分身,返回桌面,会出现所有应用的分身。(Unisoc)
- 【3.3.7.1的西门子PLC编程软件不再支持XP】
- 聚焦云计算、大数据、人工智能等开源技术,这场开源开发者的盛会不容错过!
- C语言---10库函数
- DEBIAN10安装php-zbarcode,上传图片识别条形码
- ai建立使用图案_线上课程 | PS/AI时装效果图在线课程
- 颜小茕..你来对地方了吧..哈!
- 【优雅】matplotlib 常见图
- 一个月拿到阿里字节拼多多美团offer总结