通过二分法求任意sin正弦值

​ 首先在一个水平坐标图的第一象限内,画一1/4圆,其半径为1,圆心为(0,0),该圆与x轴y轴相交点分别为R和L,也就是所求J角的范围。

​ 通过不断二分缩小LR之间的差距,缩小查找的误差,在误差小到一定范围就能得到非常近似的正弦值

#include <iostream>
#include <cmath>
using namespace std;struct node{//LR点所包含的信息不仅有两点的坐标,还有该点与x轴的夹角jiaodouble x,y;double jiao;
};
node l,r,mid;int main()
{l.x = 0;//L点夹角90l.y = 1;l.jiao = 90;r.x = 1;//R点夹角0r.y = 0;r.jiao = 0;double j,k;cin >> j;//所求正弦的角while(l.jiao-r.jiao>1e-7)//LR两夹角之间的角度没达到10的负7次方,{//即精度不足小数点后7位就进行二分mid.x = (l.x+r.x)/2;//取两点中点mid.y = (l.y+r.y)/2;k = 1/sqrt(mid.x*mid.x+mid.y*mid.y); mid.x *=k;//中点与圆点的射线在圆上的交点坐标(mid.x,mid.y)mid.y *=k;mid.jiao = (l.jiao+r.jiao)/2;//该射线夹角为(L+R)/2if(j<mid.jiao) l = mid;//若mid角大于j则在下半部分查找else r = mid;  //反之在上半部分查找}cout << mid.y/1;//该交点的纵坐标除以斜边长1就是正弦值
}

二分法求任意正弦值sin31°相关推荐

  1. Python基础经典问题-求sin正弦值

    完成程序,从键盘输入x的值,求 sin⁡x=x−3!x3​+5!x5​−7!x7​+⋯ 直到最后一项绝对值小于le的-7次方(即10−7次方)为止(注:x为弧度值).结果保留10位小数. #求正弦值 ...

  2. 在c语言求30角的正弦值,正弦及30度角的正弦值.doc

    教学设计 设计者 邓海峰 课题 正弦及30°角的正弦值 学科 数学 适用年级 初三 学时 1 课型 新授 教材 湘教版 [学习者分析] 学生性格大多数比较内向,不太喜欢发言,数学基础一般,也有小部分学 ...

  3. mysql sin度数正玄值_JavaScript用Math.sin()求正弦值

    1. 基本概念 Math.sin()方法的作用是用来求一个角的正弦值.它的语法结构如下所示: Math.sin(x); 参数x代表的是要计算正弦值的角的弧度值,而不是角度值.x应该是一个数字,即它的类 ...

  4. 二分法求最值:面向答案编程

    思路 求最值的算法题一般是贪心或者动规,但也有其他的情况,比如既找不到局部最优也写不出递推公式,这个时候或许可以尝试一下二分. 二分的思路很简单,即面向答案编程.它不关心具体的操作过程,而是先确定答案 ...

  5. C - 3 求正弦值

    C - 3 输入一组勾股数 a,b,c(a≠bc),用分数格式输出其最小锐角的正弦值.(要求是最简分数) 输入格式 一行,包含三个数,即勾股数 a,b,c(任意顺序). 输出格式 一行,包含一个数,即 ...

  6. python二分法求最值_数值分析之二分法、试值法 python

    @ 数值分析之非线性方程求解 文章目录 二分法.试值法的本质 (1) 二分法求利率 题目 输入输出格式 举例 输入: 输出: 思路和要点 代码 结果 (2)试值法法求利率 题目 输入输出格式 举例 输 ...

  7. 在c语言求30角的正弦值,第1课时 正弦及30°角的正弦值

    第4章 锐角三角函数 4.1 正弦和余弦 第1课时 正弦及30°角的正弦值 1.通过具体实例,分析.比较后,知道"当直角三角形的锐角固定时,它的对边与斜边的比值也固定"的事实. 2 ...

  8. C语言约分、求最大公约数?三角形用分数格式输出其较小锐角的正弦值

    每日一题 题目:输入一组勾股数 a,b,c用分数格式输出其较小锐角的正弦值.(要求约分.) 算法思想: 首先,题目中已经知道为勾股数,相对好做一点,那么,根据数学思想,正弦=直角边/斜边,小角对小边. ...

  9. asin c语言中 返回值范围_C语言asin()函数:求正弦值为 x 的弧度数

    函数名: asin 头文件: 函数原型: double asin(double x) 功 能: 求正弦值为 x 的弧度数 参数: double x    正弦值.x 的取值必须位于区间[-1, 1]中 ...

最新文章

  1. RunLoop 浅析
  2. Java构造函数的使用_java中构造函数的使用方法
  3. 程序与进程的区别,并发与并行的区别,多进程的实现原理
  4. linux 内核 netfilter 网络过滤模块 (2)-conntrack
  5. CentOS Linux解决Device eth0 does not seem to be present及设置固定ip
  6. Sperner定理及其证明
  7. AI领域首个iF用户体验大奖——第四范式斩获2项德国iF设计奖
  8. 三大技术突破,网易云信实现在线音乐教育极速上线
  9. ArrayList集合的使用和源码详细分析
  10. 20172318 2017-2018-2 《程序设计与数据结构》实验4报告
  11. linux yum仓库制作,yum仓库搭建之RPM包制作
  12. 找零程序Java_JAVA解惑--找零时刻
  13. 一个基于WinCE平台的语音识别例子,利用微软speechAPI5.0
  14. 【筛法】第十万零二个素数
  15. W3Cschoool菜鸟教程
  16. cubemx配置usb
  17. 拷贝控制示例——Message和Folder
  18. LaTeX的下载和使用(TexLive + TexStudio)
  19. Mac上键入数学符号怎样输入
  20. TensorFlow在win10上安装--精简教程

热门文章

  1. 文献阅读经验--以基于深度学习的医学图像配准为例
  2. 几张趣图带你了解程序员眼中的世界
  3. php生成二维码图片
  4. 玛雅水上乐园|玩趣系列作品集
  5. UINO优诺:数字孪生可视化管理GIV,打造统览全局大视野
  6. IDEA配置连接数据库时报错Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ propert
  7. 自己为什么活着,活着的意义是什么?
  8. 棋牌类游戏测试用例怎么写?我敢打赌你绝对不知道
  9. 泛函分析笔记(二十一) 障碍问题
  10. mysql去掉字段中的中文括号及括号中的内容