Re: ParametricPlot Remark
- To: mathgroup at smc.vnet.net
- Subject: [mg7203] Re: [mg7177] ParametricPlot Remark
- From: Allan Hayes <hay at haystack.demon.co.uk>
- Date: Fri, 16 May 1997 02:30:34 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
> ParametricPlot - works fine giving nice smooth courbes , > ParametricPlot3D - samples largely giving a pretty zigzag form ! ParametricPlot is adaptive -- it adds extra sample points where the curve is bending more. ParametricPlot3D is not adaptive -- it just uses the initial sample points. You can, as you observe, increase the number of sample points (PlotPoints -> ...), but with your example - plotting the solution to the Lorentz equations - you have interpolating functions, which *have* been constructed adaptively, and we can extract the points found. 1) Solve your equations: s = 10; b = 8/3; r = 167; tmax = 10; eq = { x'[t] == s ( y[t] - x[t] ), y'[t] == r x[t] - y[t] - x[t] z[t], z'[t] == - b z[t] + x[t] y[t], x[0] == 0, y[0] == 1, z[0] == 0 }; sol = NDSolve[ eq, {x,y,z} , {t, 0, tmax}, MaxSteps -> 5000, StartingStepSize -> 0.001]; 2) get the coordinates of the points found coordinates = Thread[Cases[sol,InterpolatingFunction[__,l_]:>First/@l, Infinity]]; 3) Plot the line through the points Show[Graphics3D[Line[coordinates]]] Allan Hayes hay at haystack.demon.co.uk http://www.haystack.demon.co.uk/