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



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

  

user avatar   haruakira 网友的相关建议: 
      

谢邀。

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

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

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

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

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

对数函数:

指数函数:

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

(2)迭代法

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

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

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

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

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

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




  

相关话题

  数学课有江湖吗? 
  本科阶段数学系的你的一天是怎么度过的? 
  学物理为什么会觉得计算机很难? 
  数学2分,如何自救? 
  计算机行业是不是自砸饭碗的行业? 
  C 语言是否需要改进,甚至重新设计一门语言取代 C 语言? 
  物理学常量(例如光速)把量纲去除(如果有的话)都是有理数还是无理数? 
  「只有」和「有且只有」的区别是什么? 
  为什么行列式恰好能表示体积? 
  比1大的数多还是比0大的数多? 

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





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