title: Numpy: ValueError: setting an array element with a sequence
body: <p>I am just playing with python's scientific libraries expecially the examples from here: <a href="http://faculty1.coloradocollege.edu/~sburns/toolbox/ODE_II.html" rel="nofollow">http://faculty1.coloradocollege.edu/~sburns/toolbox/ODE_II.html</a></p>
  
  <p>I modified it by defining a "force function" and tried to make a simple (but non physical example) where the force depends on the x and y position of the object. Additionally I want to plot the force field with quiever. The problem is that I don't understand how to make the force function properly depend on (a function of) the x and y components of the position of the object, especially I get the error cited below. </p>
  
  <pre><code>from pylab import *
  from scipy.integrate import odeint
  import numpy as np
  
  ## set initial conditions and parameters
  g = 9.81            # acceleration due to gravity
  th = 91            # set launch angle
  th = th * pi/180.   # convert launch angle to radians
  v0 = 100           # set speed
  
  x0=0                # specify initial conditions
  y0=0
  vx0 = v0*sin(th)
  vy0 = v0*cos(th)
  
  
  
  ## define force Funktion
  
  def F_func(x):
      F = zeros(2)
      F[0] = x[1] # 
      F[1] = x[0] #
      return F
  
  
  ## define function to compute f(X,t)
  def f_func(state,time):
      f = zeros(4)    # create array to hold f vector
      f[0] = state[2] # f[0] = x component of velocity
      f[1] = state[3] # f[1] = x component of velocity
      f[2] = F_func(state[:2])[0]        # f[2] = acceleration in x direction
      f[3] = F_func(state[:2])[1]      # f[3] = acceleration in y direction
      return f
  
  ## set initial state vector and time array
  X0 = [ x0, y0, vx0, vy0]        # set initial state of the system
  t0 = 0.
  tf = 10
  tau = 0.1
  #tf = input("Enter final time: ")
  #tau = input("Enter time step: ")
  
  # create time array starting at t0, ending at tf with a spacing tau
  t = arange(t0,tf,tau)   
  
  ## solve ODE using odeint
  X = odeint(f_func,X0,t) # returns an 2-dimensional array with the 
                          # first index specifying the time and the
                          # second index specifying the component of
                          # the state vector
  
  print X
  # putting ':' as an index specifies all of the elements for
  # that index so x, y, vx, and vy are arrays at times specified 
  # in the time array
  x = X[:,0]  
  y = X[:,1] 
  vx = X[:,2] 
  vy = X[:,3]
  
  
  ## plot the trajectory
  fig = figure()
  ax = fig.add_subplot(1,1,1)
  
  ## Enlarge Limits by en Percent
  en = 0.05
  
  
  #xMin,xMax = 0,10
  xMin,xMax = min(x),max(x)
  yMin,yMax = min(y),max(y)
  
  xMin,xMax = xMin - (xMax-xMin)*en,xMax + (xMax-xMin)*en
  yMin,yMax = yMin - (yMax-yMin)*en,yMax + (yMax-yMin)*en
  
  
  #plot(x,y,[xMin,xMax],[yMin,yMax])
  #plot(x,y,[0,10],[0,10])
  ax.plot(x,y)
  ax.axis('tight')
  xlim([xMin,xMax])
  ylim([yMin,yMax])
  
  
  xG,yG = meshgrid(linspace(xMin,xMax,10),linspace(yMin,yMax,5))
  
  ax.quiver(xG,yG,F_func(zip(xG,yG))[0],F_func(zip(xG,yG))[1],pivot='middle',minshaft=5,minlength=1,alpha=0.1)
  
  
  xlabel('x')
  ylabel('y')
  
  show()
  </code></pre>
  
  <p>With this code I get the following error: </p>
  
  <pre><code>ValueError                                Traceback (most recent call last)
  /usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
      176             else:
      177                 filename = fname
  --&gt; 178             __builtin__.execfile(filename, *where)
  
  /home/myuser/python/test.py in &lt;module&gt;()
       87 xG,yG = meshgrid(linspace(xMin,xMax,10),linspace(yMin,yMax,5))
       88 
  ---&gt; 89 ax.quiver(xG,yG,F_func(zip(xG,yG))[0],F_func(zip(xG,yG))[1],pivot='middle',minshaft=5,minlength=1,alpha=0.1)
       90 
       91 
  
  /home/myuser/python/test.py in F_func(x)
       20 def F_func(x):
       21     F = zeros(2)
  ---&gt; 22     F[0] = x[1] #
       23     F[1] = x[0] #
       24     return F
  
  ValueError: setting an array element with a sequence.
  </code></pre>
  
  <p>Can somebody explain this and how to fix it?</p>