计算机能计算各种三角函数值的原理是啥?人因该怎么算不同角度的三角函数值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机能计算各种三角函数值的原理是啥?人因该怎么算不同角度的三角函数值?相关的知识,希望对你有一定的参考价值。
以80度角为例,它的正切,正弦,余弦不用计算机怎么算?
计算机能计算各种三角函数值是因为有个数学库,库里含三角函数运算的子程序,程序员就不必自己从0开始去开发基本程序,直接调用即可。库里的三角函数运算我估计是用级数展开方式算得的。
不用计算机的库,我们自己也可以用级数展开发,写程序计算的,方法并不复杂。学过泰勒级数的人都可以写。这里就不花时间去做这种重复劳动的工作了。
三角函数值,可用直角三角形3条边的比例得到,或者用直角坐标系里一个点与座标原点连线的夹角构成的三角形例如你可以计算。例如,P点的坐标是 (x,y), 原点O的坐标是 (0,0),斜边PO长度 是 c=sqrt(x*x+y*y),sin() 就等于 y/c; cos() 就等于 x/c; tan() 就等于 y/x;
求近似解,你可以用量角器画一个80度的角,构成直角三角形,用尺量出直角边和斜边长度,然后手算 x/c, y/c, y/x 即可。
上个世纪,人们通过查函数表的方法得到,例如 四位数学用表,它里面有对数表,三角函数表,查表与插值得到结果。后来发明了计算尺,用尺拉,可以得到三角函数数值。你若能找到这种老古董,也可以用用玩玩,若对原始的东西有兴趣。
s 参考技术A 如果你学过泰勒展开的话应该知道,类似sinx可以等价于SUM(0->n,(-1)^n*x^(2n-1)/(2n-1)!),或者有些人根据这个原理也得出sinx的等价无穷小也可以写成x-1/6*x^3+o(x^3),这个就是上面这个级数展开的前两项
我们以计算sin45为例,45度转换为弧度制为1/4pi,所以sin45近似为1/4pi-1/6*(1/4pi)^3=0.704 和 0.707~=sqrt(2)/2相差很近,如果你把级数展开的越多,那么这个结果就越精确,这里只是将sinx的泰勒展开两项进行演示
sin80度的话也是同理,就是转换成(4/9)pi-(1/6)(4/9)pi^3可以得到一个近似的值
计算机计算三角函数就是通过展开泰勒公式将计算三角函数的操作变成一堆加减乘除,当然,计算机展开泰勒公式可不仅仅精确到两项
也有的是用cordic算法计算的三角函数,这个就在此不做详解 参考技术B 用系统自带的函数计算器可以计算。
谁能告诉我哈希是啥?
哈希就是Hash。一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入-又叫做预映射pre-image。通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
扩展资料:
哈希值是由哈希函数从一个给定的数据计算出来的。哈希函数指将哈希表中元素的关键键值映射为元素存储位置的函数。
一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。
这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。 理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。 参考技术A 哈希其实就是一种特殊的函数,不论输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值。 参考技术B 这个是对一个信息做的运算,
称呼为哈西计算。
就和平方,正炫类似的一个计算。 参考技术C 哈希算法有一个很大的特点,就是你不能从结果推算出输入,所以又称为不可逆的算法。
以上是关于计算机能计算各种三角函数值的原理是啥?人因该怎么算不同角度的三角函数值?的主要内容,如果未能解决你的问题,请参考以下文章