大家都知道,函数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函数使用注意事项相关推荐

  1. java中反三角函数怎么写,Java 数学三角函数正弦、余弦、正切以及反正弦、反余弦、反正切函数的使用...

    Java 数学三角函数正弦.余弦.正切以及反正弦.反余弦.反正切函数的使用 Java中数据三角函数在Math类里面有封装好的对应方法,正弦函数是sin方法,余弦函数是cos方法,正切函数是tan方法, ...

  2. java 反余弦_Java acos() 方法

    Java acos() 方法 acos() 方法用于返回指定double类型参数的反余弦值. 语法 double acos(double d) 参数 d -- 任何原生数据类型. 返回值 返回指定do ...

  3. math java 计算_Java中的数学计算函数汇总

    Math类:  java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...

  4. 在java中如何输入角度_在Java中获取角度的反余弦

    为了获得Java中给定值的反余弦,我们使用java.lang.Math.acos()方法.该acos()方法接受需要计算角度的双精度值.返回的角度范围在0到pi之间.如果参数为NaN或大于1或小于-1 ...

  5. matlab 分段函数 反余弦

    一.矩阵表达式的分段函数 eg:  其中 H,B,G,θ 为mxn的同维矩阵.上式指矩阵具体元素. % if b<=g    %     H=theta/360; % else H=1-thet ...

  6. 如何用反余弦求pi c语言,acos()_C语言acos()详解:反余弦函数,求反余弦值

    double acos(double x); acos() 函数的功能是求反余弦值. 反余弦函数 acos() 和余弦函数 cos() 的功能恰好相反:cos() 是已知一个角的弧度值 x,求该角的余 ...

  7. Java Math.round()函数小结

      Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(1 ...

  8. JAVA Math函数向上取整和向下取整

    JAVA Math函数向上取整和向下取整, 向上取整用Math.ceil(double a) 向下取整用Math.floor(double a) 举例: double a=35; double b=2 ...

  9. Java Math类方法介绍之史上最全

    Java Math类方法介绍之史上最全 开发中用到了Java Math类的方法,故温习记录如下. /*** 常量*/System.out.println("------>" ...

最新文章

  1. ORACLE学习笔记--性能优化2
  2. 服务器安装Windows Server + Ubuntu双系统
  3. “多态枚举”数值如何判断?
  4. HierarchicalBeanFactory接口
  5. 电脑位数怎么看_看完了这篇文章你就知道怎么选电脑了...
  6. c语言函数man,Linux下C语言编程有困难找man
  7. winfrom 如何让弹窗不影响主界面_「Win」电脑开机后不给我弹几个广告,我还不太习惯...
  8. unity如何检测内存泄漏_如何排查Java内存泄漏?看懂这一篇就够用了
  9. js隐藏div和class
  10. rs485如何使用_气体检测仪rs485和4-20ma接线方式有什么区别,该如何选择最优的接线方式...
  11. Qt 之 QEvent
  12. powerDesigner Could not Initialize JavaVM解决
  13. AMI,HDB3编码译码
  14. 在Linux下用sopcast/qsopcast收看网络电视
  15. linux 修改ftp默认端口号,在linux中添加ftp用户,以及修改FTP默认端口号
  16. 三大框架之---MyBaits第二章
  17. 各种抠图动态图片_抠图动画
  18. 基于ARM的智能灯光控制系统(4)数据结构
  19. 世界上最会写爱情的人,其实是金庸
  20. 小萨村的激光SLAM学习笔记

热门文章

  1. vue-element上传获取视频的时长
  2. 【应用分身】下载支持应用分身的应用(QQ),开启应用分身,返回桌面,会出现所有应用的分身。(Unisoc)
  3. 【3.3.7.1的西门子PLC编程软件不再支持XP】
  4. 聚焦云计算、大数据、人工智能等开源技术,这场开源开发者的盛会不容错过!
  5. C语言---10库函数
  6. DEBIAN10安装php-zbarcode,上传图片识别条形码
  7. ai建立使用图案_线上课程 | PS/AI时装效果图在线课程
  8. 颜小茕..你来对地方了吧..哈!
  9. 【优雅】matplotlib 常见图
  10. 一个月拿到阿里字节拼多多美团offer总结