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



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

  

user avatar   haruakira 网友的相关建议: 
      

谢邀。

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

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

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

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

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

对数函数:

指数函数:

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

(2)迭代法

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

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

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

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

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

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




  

相关话题

  为什么任给一个圆,它的圆周长和直径比值都是常数? 
  比较高深的数学在经济学有哪些运用相当漂亮? 
  高等数学中学泰勒公式,感觉几何意义很模糊,怎么理解? 
  程序员职业生涯真的很短吗? 
  「泛函」究竟是什么意思? 
  当我们说一个定理可以推出另一个定理的时候, 我们在说什么? 
  这个几何问题有什么方法吗? 
  为什么康德说数学是纯粹先天综合知识? 
  如何帮助Strongart教授消除痛苦? 
  即时战略游戏(比如 WAR3)的 AI 是怎样实现的? 

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





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