簡體   English   中英

python中指數函數的近似求和

[英]approximate summation of exponential function in python

我希望找到指數函數的近似和,我的代碼如下所示:

import numpy as np
import matplotlib.pyplot as plt
import math

N = input ("Please enter an integer at which term you want to turncate your summation")
x = input ("please enter a number for which you want to run the exponential summation e^{x}")

exp_sum =0.0

for n in range (0, N):
    factorial = math.factorial(n)
    power     = x**n
    nth_term  = power/factorial
    exp_sum   = exp_sum + nth_term

print exp_sum

現在,我對它進行了一對(x,N)=(1,20)的測試,它返回2.0,我想知道我的代碼在這種情況下是否正確,如果正確,則得到e = 2.71 ...,我應考慮多少個術語為N? 如果我的代碼錯誤,請幫助我解決此問題。

您正在使用哪個版本的python? 查找nth_term的除法在python 2.x和版本3.x中給出不同的結果。

似乎您正在使用2.x版。 您使用的除法僅給出整數結果,因此在前兩行循環(1 / factor(0)+ 1 / factor(1))之后,您僅添加了零。

因此,請使用3.x版本,或將該行替換為

nth_term  = float(power)/factorial

或者,如注釋所示,通過添加以下代碼行使python 2.x像3.x一樣進行除法

from __future__ import division

在模塊開始處或附近。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM