百科问答小站 logo
百科问答小站 font logo



计算器或计算机如何进行比较复杂的数学计算? 第1页

  

user avatar   haruakira 网友的相关建议: 
      

谢邀。

对于问题中的部分名词表述已进行修改。

计算器或者计算机要进行复杂的运算,主要是利用数值计算方法的原理,或是将各种数学函数变换变为只有加减乘除的多项式,或是使用迭代的方式计算,或是近似计算等等。以下以多项式和迭代的两种方法进行举例说明:

(1)多项式法——幂级数的部分和

以 为例,利用幂级数展开式,有 (其中 ),使用fx-991CN X计算器尝试用这个式子的部分和数列来计算 。在表格模式里面,输入上面的和式,令 ,将 用计算器上的变量 代替,范围指定从1到10,步长为1:(角度单位为弧度

可以看到,对于一台函数计算器来说,使用幂级数展开的部分和计算正弦函数( 从 到 )的时候,仅仅需要前面的几项之和便可以得到较精确的结果,这样的单个函数的计算量对于计算器里面的处理器来说是非常少而且轻松的,因此眨眼就能给出结果。能够计算 了, 和 就不用多说了。

对数函数:

指数函数:

反三角函数:由 ,将 替换为 ,又 ,对级数逐项积分即可。

(2)迭代法

以开平方为例。例如计算 (即 ),利用上面的多项式法计算 虽然可行,但计算器里面的算法要越快越好。如果某种迭代法可以使得迭代迅速收敛,那么就可以提高计算速度。

求一个数 的平方根,即解方程 ,令 ,使用牛顿迭代法有 ,因此有 。首先可以简单估计迭代的初始值为 ( ),然后作迭代:

可以看到,仅仅迭代了三次,结果的准确程度就已经至少到第10位了。

——————————分割线——————————

除此之外,还有许多其他的算法,例如阶乘计算就有近似计算的公式: 。

经过以上的处理得到的结果,再进行精度判断,确认小于某个值之后计算器就可以将结果给出来了。当然了,以上只是单个函数可能的计算原理,实际的计算器内部算法不一定与如上所述的算法相同。对于复杂的式子,还需要先进行算式的优先级判断,然后再按顺序去处理每一步的计算结果等等后续的处理过程。




  

相关话题

  数学天才比常人强在哪里? 
  有哪些顶级水平的中国程序员? 
  NASA登月时全部计算机的计算能力加起来真的还不如现在一部手机吗? 
  一道三角最值如何思考? 
  如何评价第12届全国大学生数学竞赛初赛(数学类A组)试题? 
  这个不等式题目怎么做? 
  4位数字0到9顺序组合,如何在7次内猜出该数字? 
  如何看待清华计算机科学全球排名第一位,华科第十一位? 
  「所有正整数之和是负十二分之一」在数学上是没有矛盾的吗? 
  数学的所有内容都是基于一些无法证明的公理和无法定义的概念(比如集合、直线),那么数学有没有可能是假的? 

前一个讨论
地质行业就业真的很不堪吗?有哪些相关专业相对好转吗?
下一个讨论
想从设备管理改行到机械设计,好改行么?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利