c++反三角函数的使用(反三角函数求角度)

最近写的东西用到了数学库中的acos函数,但是代码在运行的时候有时候会出莫名其妙的错误,比如返回值是个特别大的数。最后在debug的时候发现acos返回的数据很奇怪,但是传入的参数明明没有问题,可以保证是(-1,1)。回想起,double类型的末尾数据是不确定的,比如当double类型数据alpha=1.0时其真实值可能是1.00001;这明明是很早就知道的,但是在写代码的时候…

大家好,又见面了,我是你们的朋友全栈君。

最近写的东西用到了数学库中的acos函数,但是代码在运行的时候有时候会出莫名其妙的错误,比如返回值是个特别大的数。

最后在debug 的时候发现acos返回的数据很奇怪,但是传入的参数明明没有问题,可以保证是(-1,1)。

回想起,double类型的末尾数据是不确定的,比如当double类型数据alpha = 1.0时其真实值可能是1.00001;这明明是很早就知道的,但是在写代码的时候有时候却很容易忘记。所以在acos部分加入界限判别部分

acos((alpha > 0.99) ? 0.99 : (alpha < -0.99) ? -0.99 : alpha):

借此以作提醒,熟记熟用基本知识!

转载于:https://www.cnblogs.com/jerry323/p/8640678.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128916.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows10下安装Anaconda、Pycharm、Tensorflow-gpu,并在Pycharm中配置Tensorflow

    Windows10下安装Anaconda、Pycharm、Tensorflow-gpu,并在Pycharm中配置TensorflowWindows10下安装Anaconda、Pycharm、Tensorflow-gpu,并在Pycharm中配置TensorflowPyCharm是一款功能强大的Python编辑器,其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器,可帮助用户更快更轻松的完成编码工作。用户可使用其编码语法,错误高亮,智能检测以及一键式代码快速补全建议,使得编码更优化。所以我一般推荐使用Pycharm进行python代码编辑。但是Anaconda通过管理工具包、开发环境、Python

    2022年8月29日
    7
  • SpringCloud(八)—-OpenFeign通讯优化

    SpringCloud(八)—-OpenFeign通讯优化

    2020年11月12日
    302
  • 计算机技术职称自我评价,申报专业技术职称的自我评价

    计算机技术职称自我评价,申报专业技术职称的自我评价

    2021年8月16日
    39
  • 声源定位 DOA_声源定位

    声源定位 DOA_声源定位1基于到达时间差易受噪声反射吸收散射影响广义互相关GCC最小均方误差LMS自适应滤波器对于多声源效果不好抗噪抗混响效果不好2基于最大输出功率可控波束形成SRP-PHAT计算复杂度高,抗混响能力强3,基于高分辨率谱图估计法MUSIC多重信号分类ESPRIT(旋转不变子空间)对信号进行协方差矩阵进行空间分解(特征值分解)需要噪声与信号不相关CSSMWAVES从窄带拓展到宽带的声源定位为增加鲁棒性:后处理卡尔曼滤波粒子…

    2022年9月22日
    2
  • minicom指令_【教程】minicom使用教程

    minicom指令_【教程】minicom使用教程简介Linux下的Minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部的硬件设备.适于在linux通过超级终端对嵌入式设备行管理.同样也可以使用minicom对外置Modem进行控制.Minicom的配置第一次启动时:需对minicom进行配置:minicom-s启动出现配置菜单:+—–[configuration]——+|Filenamesand…

    2022年6月5日
    49
  • NSGA3算法及其MATLAB版本实现

    NSGA3算法及其MATLAB版本实现NSGA3算法及其MATLAB版本实现一丶NSGA3和NSGA2的一些参考资料看懂NSGA3之前,了解的NSGA2的话更有帮助,这个博士写的带约束的NSGA2的matlab版本很不错(9个非约束的测试问题和5个带约束的测试问题),大家想了解NSGA3的最好先看看。1.ConstrainedNSGA2:https://cn.mathworks.com/matla…

    2022年5月12日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号