<div class="gmail_quote">On Thu, Feb 12, 2009 at 12:16 PM, Rob Clewley <span dir="ltr">&lt;<a href="mailto:rob.clewley@gmail.com">rob.clewley@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">&gt; Is there a good way to use scipy.integrate.odeint to calculate trajectories<br>
&gt; from an observed velocity field? I know you can do this when you have an<br>
&gt; analytic expression for dx/dt, but in this case I have a spatial grid of<br>
&gt; values for dx/dt. &nbsp;The only way I&#39;ve come up with is to make the function<br>
&gt; passed to odeint something that will interpolate fromt the grid to the given<br>
&gt; point.<br>
<br>
<br>
</div>I don&#39;t think odeint is the right tool for this job - there is no ODE<br>
integration to do if you do not have an explicit function for the<br>
vector field. You should think of it purely as an interpolation<br>
problem. You have (t,x) values and (t, dx/dt) values, so this defines<br>
a piecewise quadratic function which has continuous *second*<br>
derivative everywhere (i.e. the trajectory smoothly agrees at your<br>
mesh points). I would use the polynomial interpolation classes that<br>
were recently added to scipy by Anne Archibald (search this list for<br>
details about it). You pass it your arrays of values and you get back<br>
a function that smoothly interpolates through your points. This is the<br>
most accurate trajectory that you can derive from this finite mesh<br>
vector-field.<br>
</blockquote></div><br>I understand the idea of the curve fitting.&nbsp; But I&#39;m having trouble seeing how to take the krogh_interpolator in scipy and apply it to a 2, or better yet, 3 dimensional problem.&nbsp; Any pointers?<br>
<br>Ryan<br clear="all"><br>-- <br>Ryan May<br>Graduate Research Assistant<br>School of Meteorology<br>University of Oklahoma<br>