我试图写一个加热器函数,但我有一些困难。我对Python相当陌生。在
我想让我的加热器运行15000秒,但前120秒(包括120秒)。我希望它沿着一条线性路径,温度=0.0804*time+16.081,然后在120秒之后,我希望它在剩余的时间里,在线性方程中得到的最终温度下保持恒定。我需要分别计算每个给定时间的温度。作为有限元代码,我将我的代码放入调用python的每一个时间步,只需要该时间步的信息。在
我写的代码下面有个错误,说“function”对象不可订阅
import math, numpy as np
from random import *
a = 0.0804
def temperatures():
for second in xrange(121):
last = a * second + 18.3
yield last
mygenerator = temperatures() #create a generator
print(mygenerator)
for last in mygenerator:
temperatures += temperatures[120:] * (15000 - 120)
print temperatures
我知道错误与第14行有关。我想我不能调用temperatures[120:]
,因为它不是列表或字典?我不确定用python编写所需内容的最佳方法是什么。我需要分别计算每个给定时间的温度。作为有限元代码,我将我的代码放入调用python的每一个时间步,只需要该时间步的信息。在
任何帮助都会很大谢谢。谢谢在
你有几个问题。在
首先,迭代器将只运行120个周期,然后它将结束,这不是您上面描述的。接下来,不引用生成器的输出。如果需要输出,应该参考last。在
下面是一个非常简化的生成器,它执行的操作与您所看到的类似。它运行了10个周期,但在前5个周期后表现不同。在
相关问题 更多 >
编程相关推荐