首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为多个时间步长值生成多个曲线图

为多个时间步长值生成多个曲线图
EN

Stack Overflow用户
提问于 2017-12-21 09:22:12
回答 1查看 45关注 0票数 1

我的目标是展示数值解的准确性,以及它如何随所选时间步长的值而变化。数值解是使用以下代码生成的:

代码语言:javascript
复制
def f(te3):
    y3 = -r3*(te3 - te_surr) #y is the derivative
    return y3


for i in range(1, len(t3)):
    te3[i] = te3[i-1] + f(te3[i-1])*dt

然后绘制这些数值解:

代码语言:javascript
复制
plt.plot(t3,te3)

最初,dt被选为0.1。我正在尝试显示不同时间步长的不同值产生的各种图: 0.05,0.01等。然而,除了手动键入dt的每个值之外,我不确定如何在我的代码中实现这些。

代码语言:javascript
复制
dt2 = 0.05
dt3 = 0.025
dt4 = 0.01
dt5 = 0.005
dt6 = 0.001

然后为每个DT值更改上面所示的代码,依此类推。有没有一种方法可以将这些值存储为列表或数组,并使用它来绘制这些值?

EN

回答 1

Stack Overflow用户

发布于 2017-12-21 09:51:00

也许你可以使用字典来保存每个dtte3。例如:

代码语言:javascript
复制
dt_values = [0.05, 0.025, 0.1, 0.05, 0.001]

my_te3 = {0.05:[1,2,3], 0.025:[1,2,3]}

for i, dt in zip(range(1, len(my_te3[0.05])), dt_values):
    my_te3[dt][i] = my_te3[dt][i-1] + f(my_te3[dt][i-1])*dt

然后,要绘制图形,您只需循环键:

代码语言:javascript
复制
for te3 in my_te3.itervalues(): 
    plt.plot(t3,te3)

请注意,itervalues只能在Python2.7中工作。对于Python3,请使用.values

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

https://stackoverflow.com/questions/47916610

复制
相关文章

相似问题

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