大家都知道,函数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. BZOJ 2734 [HNOI2012]集合选数 (状压DP、时间复杂度分析)
  2. java uppercase方法_java-方法引用
  3. Java 比较两个版本号的大小 (通用)
  4. 深入理解line-height与vertical-align——前端布局常用属性
  5. 【POJ - 3310】Caterpillar(并查集判树+树的直径求树脊椎(bfs记录路径)+dfs判支链)
  6. 【案例】图片无缝轮播效果
  7. zz backgroundworker C#
  8. js动态改变iframe的高度
  9. 一些用xib加载主界面的过程
  10. ldd查看程序依赖库(转载)
  11. SQlite数据库的C编程接口(八) 工具函数(Utility Functions) ——《Using SQlite》读书笔记
  12. python 列表、元组、字典、集合
  13. 移动开发中的仿真器(Emulator)与模拟器(Simulator)
  14. 第一本十五章上级2注册账号
  15. 无刷电机无感六步方波驱动原理整理以及过零现象产生分析
  16. 计算机机房电力切换演练方案,中心机房开展2020年上半年电力切换应急演练
  17. 语音合成TTS论文优选:A HYBRID TEXT NORMALIZATION SYSTEM USING MULTI-HEAD SELF-ATTENTION FOR MANDARIN
  18. mysql count 不走索引_sql中不走索引情况
  19. Java 9失败以及如何修复它们
  20. 天生双子星——Map集合

热门文章

  1. Notion教程-快速教你利用Notion制作任务强提醒
  2. 怎样将m4a音频转成mp3?
  3. WIN10 +小皮面板 部署CRMEB商城系统(详细步骤)
  4. java分层开发模式的概念_Java开发人员的z / OS概念
  5. 群主如何设置不允许群内成员邀请其他成员进另一个群?
  6. 跟狼叔聊了一夜,终于搞明白了 Serverless 是什么
  7. Thread类源码解读2--线程状态及常用方法
  8. 如何获取JPEG图片质量和预测压缩图片大小
  9. KettleSamples
  10. 后台IO高负载造成JVM GC长时间停顿