首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python图形绘制

Python图形绘制
EN

Stack Overflow用户
提问于 2013-06-10 23:09:03
回答 1查看 537关注 0票数 0

X坐标,y坐标s.but,我做不到。如果你能帮忙的话。提前感谢大家。现在只绘制了tdondur值。如何绘制s的值。

代码语言:javascript
复制
from math import e, exp,pow 
import pylab
from gaussxw import gaussxwab

Kb=1.3806505*10**-23
V=10**-3
p=6.022*10**28
Qd=428.0


def f(x):
    isisigasi=9*V*p*Kb*(T/Qd)**3
    return(isisigasi*x**4*(exp(x))/(exp(2)-1)**2)

tut=[] 

Tdondur=range(5,501)
tut=[None for T in Tdondur] 

for tsirala, T in enumerate (Tdondur):
    N=50
    a=0
    b=Qd/T
    x,w=gaussxwab(N,a,b)
    s=0.0
    for k in range (N):
        s+=w[k]*f(x[k])    
    print(T,"'in Isı Sığası : ",s)
    print("----------------------------------------------------------")


pylab.plot(Tdondur)
pylab.title('Isı Sığasının Sıcaklığa Göre Değişimi')
pylab.xlabel('Sıcaklık (T)')
pylab.ylabel('Isı Sığası')
pylab.gcf().savefig('isisigasi.png')
pylab.show()
EN

回答 1

Stack Overflow用户

发布于 2013-06-11 00:18:01

这里的问题是,您在循环的每次迭代中为s计算了一个新值,但您从未保存过计算结果。相反,在进入循环之前为s创建一个数组,并在循环中设置s[k]

代码语言:javascript
复制
from math import e, exp,pow 
import pylab
from gaussxw import gaussxwab

Kb=1.3806505*10**-23
V=10**-3
p=6.022*10**28
Qd=428.0


def f(x):
    isisigasi=9*V*p*Kb*(T/Qd)**3
    return(isisigasi*x**4*(exp(x))/(exp(2)-1)**2)

tut=[] 

Tdondur=range(5,501)
tut=[None for T in Tdondur] 

s = [0. for i in Tdondur]  # initialize s before entering the loop
for tsirala, T in enumerate (Tdondur):
    N=50
    a=0
    b=Qd/T
    x,w=gaussxwab(N,a,b)
    for k in range (N):
        s[k]+=w[k]*f(x[k])    # work on the values within the loop

pylab.plot(Tdondur, s)
#s_np = pylab.array(s)
#pylab.plot(Tdondur, pylab.log10(s_np))
pylab.title('title')
pylab.xlabel('T')
pylab.ylabel('Y')
#pylab.gcf().savefig('')
pylab.show()

下面是结果(请注意x轴被放大了):

通常,对于这样的数据,您可能希望绘制数据的log,为此,请取消注释该读取之后的两行:

代码语言:javascript
复制
s_np = pylab.array(s)
pylab.plot(pylab.log10(s_np))

(请注意,上面的代码行使用的是numpy,它是用pylab导入的,对于这类问题,它比list更容易理解。)

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

https://stackoverflow.com/questions/17027068

复制
相关文章

相似问题

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