JavaScript学习:使用Maclaurin级数求自然对数底e的近似值
JavaScript学习:使用Maclaurin级数求自然对数底e的近似值
北风其凉 发表于2年前
JavaScript学习:使用Maclaurin级数求自然对数底e的近似值
  • 发表于 2年前
  • 阅读 117
  • 收藏 2
  • 点赞 1
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: JavaScript学习:使用Maclaurin级数求自然对数底e的近似值

一、计算原理

Maclaurin级数求以e为底数的指数函数的公式如下:

注:公式摘自维基百科页面

https://en.wikipedia.org/wiki/Taylor_series#List_of_Maclaurin_series_of_some_common_functions

根据该公式可知,当x为1时,使用“1+1+1/2!+1/3!+... ”的方法可以求出e的近似值

二、页面代码

建立一个文件calc_e.html,里面输入下面代码:

<html>
  <head>
    <title>JS学习 - 计算自然对数e</title>
  </head>
  <style type="text/css">
      table
      {
          border-spacing: 0 0;
          border-collapse: collapse;
          font-size: 10pt;
      }
      table th
      {
          background: #3399FF;
          text-align: center;
          text-decoration: none;
          font-weight: normal;
          padding: 3px 6px 3px 6px;
          width:200px;
      }
      table td
      {
          vertical-align: top;
          text-align: center;
          padding: 3px 6px 3px 6px;
          margin: 0px;
          border: 1px solid #3399FF;
      }
  </style>
  <body>
    请输入迭代次数(1-15)
    <input type="text" id="iter_times" onkeydown="keydown();" />
    <input type="button" id="calc_e" value="计算自然对数e" onclick="calculateE();" />
    <hr>
    <table id="result">
      <tr>
        <th>序号</th>
        <th>计算结果</th>
        <th>精确结果</th>
      </tr>
    </table>
    <script>
      //计算自然对数并将结果显示在table中
      function calculateE()
      {
          //判断:输入必须为正整数且须在1-15之间
          var iterTimes = document.getElementById("iter_times").value;
          if (iterTimes.trim() == "") {
              alert("未输入任何数据");
              return;
          } else if (!/^\d+$/.test(iterTimes)) { 
              alert("[" + iterTimes + "]不是一个正整数");
              return;
          } else if (iterTimes == 0 || iterTimes > 15) {
              alert("请输入介于1-15之间的正整数");
              return;
          }

          var table = document.getElementById("result");
          //清空table
          while (table.rows.length > 1) {
            table.deleteRow(1);
          }
          //计算自然对数
          var result = 1;
          var tmp = 1;
          for (var i = 1; i <= iterTimes; i++) {
              var root = table.insertRow(table.rows.length);
              var c1 = root.insertCell(0);
              c1.innerHTML = i;
              var c2 = root.insertCell(1);
              result += 1 / tmp;
              tmp *= (i + 1);
              c2.innerHTML = result;
              var c3 = root.insertCell(2);
              c3.innerHTML = Math.E;
          }
      }
      //在文本框输入完毕后按下回车视同单击按钮
      function keydown() {
          if (event.keyCode == 13) {
              var button = document.getElementById("calc_e");
              button.click();
          } 
      }
    </script>
  </body>
</html>

三、效果演示

使用Firefox浏览器(版本号44.0)打开calc_e.html后,效果如下图所示:

END

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
北风其凉
粉丝 111
博文 489
码字总数 460297
作品 4
×
北风其凉
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: