首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算PYTHON中德拜公式的辛普森法则

计算PYTHON中德拜公式的辛普森法则
EN

Stack Overflow用户
提问于 2015-03-17 15:32:01
回答 1查看 694关注 0票数 0

问题是,我有德拜公式,需要用辛普森法则来写一个函数cv(T)来计算给定温度下的Cv。那么Cv = 9*V_p_k_B*(T/theta_D)3 (积分从0到θ_D/T)x_4*ex/ (ex -1)*2,对于这个积分,如何用辛普森方法建立一个函数来求积分?这个公式的积分是θ_D/T的0。

这是我到目前为止所拥有的

代码语言:javascript
复制
from __future__ import division, print_function
from math import e
import numpy as np

# constants
V = 1000                # cm**3 of solid aluminum
p = 6.022*10**28        # number density in m**-3
k_b = 1.380*10**-23     # Boltzmann's constant in J*K**-1
theta_D = 428           # Debye temperature in K
N = 50                  # sample points

def cV(T):    
        return  9*V*p*k_b*(T / theta_D)**3 * (x**4 * e**x / (e**x - 1)**2)

def debye(T, a, b, N):
EN

回答 1

Stack Overflow用户

发布于 2015-03-17 15:46:09

如果这是一个家庭作业问题,您应该将它标记为这样,并为您的函数debye提供您尝试的代码。如果这是现实生活,那么使用scipy.integrate.quad可能比滚动自己的更好:

代码语言:javascript
复制
from scipy.integrate import quad
def debye(T, a, b):
    return quad(cV, a, b)[0]

不需要给出求积点的数目:quad为您处理这个问题。请注意,您应该将integrand函数cV定义为x函数,而不是T函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29103223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档