如何使用多个更改值python设置循环

时间:2015-09-23 17:18:01

标签: python python-2.7

我有一组方程式,我想要运行变量H的多个值,我想要在一系列值上评估这些方程式。我的代码粗略看起来如下;

  k=m=1
  x_values = []
  v_values = []
  N = np.array([10,100,1000]) 
  H = (tb-ta)/N 
  for n in np.arange(ta,tb+H,H):
        if n ==0:
          vn = v0 + x0*H*-(k/m)
          xn = x0 + v0*H

          x_values.append(xn)
          v_values.append(vn)

        if n>0:
          v_next = vn + xn*h*-(k/m)
          x_next = xn + vn*h
          vn = v_next
          xn = x_next

          x_values.append(x_next)
          v_values.append(v_next)

我想要发生的是要为每个arange值计算的H的值,以及循环的方程式,并为不同的{{存储每个循环的值1}}值。

我是否需要将这些存储在列表而不是数组中?我还需要更多的空数组或数组来存储单独的值吗?最后,我想绘制从H值计算的每组值。

1 个答案:

答案 0 :(得分:0)

请阅读https://stackoverflow.com/help/mcve并相应更新您的问题。没有这个,我不确定我会给你很多帮助,尤其是结果的格式。

我相信你需要嵌套循环,一个在另一个里面。外循环遍历H的值;内循环从那里进行计算。这样的事情,也许是:

K = m = 1的   x_values = []   v_values = []   N = np.array([10,100,1000])   对于[10,100,1000]中的slice_count:     H =(tb-ta)/ slice_count     对于np.arange中的n(ta,tb + H,H):         如果n == 0:           vn = v0 + x0 * H * - (k / m)           xn = x0 + v0 * H

      x_values.append(xn)
      v_values.append(vn)

    if n>0:
      v_next = vn + xn*h*-(k/m)
      x_next = xn + vn*h
      vn = v_next
      xn = x_next

      x_values.append(x_next)
      v_values.append(v_next)