首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >热力方程-设置和绘图

热力方程-设置和绘图
EN

Stack Overflow用户
提问于 2019-02-05 19:29:46
回答 1查看 216关注 0票数 0

任务是:

Heat Equation Question given

Plots I need

生成一个2D图,您可以在α= 0.5时使用5和100模式显示t= 0,1,2,3,4的温度分布(换句话说,不计算无限和,而只计算前5或100项的总和)。

我是python的新手,所以我不知道如何处理这个问题。这是我到目前为止所拥有的代码

代码语言:javascript
复制
x = np.arange(0,4)
n = np.arange(1,6)
t = np.arange(0,6)
def fun(x,n,t):
  l = 0
  for i in x:
    for j in n:
        for k in t:
            x = i
            n = j
            t = k
            z = []
            alpha = 0.5
            a = 8/m.pi
            b = m.sin((2*n - 1)*x)
            c = (2*n - 1)**2
            d = m.exp(-(2*n - 1)**2 *alpha**2 *t)
            T = a*(b/c)*d
            l += T
    z.append(T)
  return z

这不能运行。你能帮我生成我需要的2D图吗?print(fun(x,n,t))

EN

回答 1

Stack Overflow用户

发布于 2019-02-05 19:37:59

我发现你的代码有两个问题:

  1. 您总是在内循环中重置z
  2. 缩进z.append(T)将其标记为在第一个循环中,尽管T是在内循环中计算的。

我想这就是你想要的:

代码语言:javascript
复制
def fun(x,n,t):
  l = 0
  z = []
  for i in x:
    for j in n:
      for k in t:
        x = i
        # ... insert your other calculations here...
        T = a*(b/c)*d
        l += T
        z.append(T)
  return z
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54533428

复制
相关文章

相似问题

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