Given the following Runge-Kutta ODE solver and the graphical output below, how do I get a 3D line plot instead of a 3D point plot? I see that there is no ListLinePlot3D function, so I thought it might be possible to convert the tables of values T1, T2 and T3 into interpolating functions and then use the ParametricPlot3D function to plot the solution in its line form instead of point form. Currently though I'm having a little trouble with the interpolating function + ParametricPlot3D output, as I just get an empty box.
Remove["Global`*"]
(*dx/dt=*)f[t_, x_, y_, z_] := σ (y - x);
(*dy/dt=*)g[t_, x_, y_, z_] := x (ρ - z) - y;
(*dz/dt=*)p[t_, x_, y_, z_] := x y - β z;
σ = 10;
ρ = 28;
β = 8/3;
t[0] = 0;
x[0] = 1;
y[0] = 1;
z[0] = 1;
tmax = 2000;
h = 0.01;
Do[
{t[n] = t[0] + h n,
k1 = h f[t[n], x[n], y[n], z[n]];
l1 = h g[t[n], x[n], y[n], z[n]];
m1 = h p[t[n], x[n], y[n], z[n]];
k2 = h f[t[n] + h/2, x[n] + k1/2, y[n] + l1/2, z[n] + m1/2];
l2 = h g[t[n] + h/2, x[n] + k1/2, y[n] + l1/2, z[n] + m1/2];
m2 = h p[t[n] + h/2, x[n] + k1/2, y[n] + l1/2, z[n] + m1/2];
k3 = h f[t[n] + h/2, x[n] + k2/2, y[n] + l2/2, z[n] + m2/2];
l3 = h g[t[n] + h/2, x[n] + k2/2, y[n] + l2/2, z[n] + m2/2];
m3 = h p[t[n] + h/2, x[n] + k2/2, y[n] + l2/2, z[n] + m2/2];
k4 = h f[t[n] + h, x[n] + k3, y[n] + l3, z[n] + m3];
l4 = h g[t[n] + h, x[n] + k3, y[n] + l3, z[n] + m3];
m4 = h p[t[n] + h, x[n] + k3, y[n] + l3, z[n] + m3];
x[n + 1] = x[n] + 1/6 (k1 + 2 k2 + 2 k3 + k4);
y[n + 1] = y[n] + 1/6 (l1 + 2 l2 + 2 l3 + l4);
z[n + 1] = z[n] + 1/6 (m1 + 2 m2 + 2 m3 + m4);
}, {n, 0, tmax}]
T1 = Table[{t[i], x[i]}, {i, 0, tmax}];
T2 = Table[{t[i], y[i]}, {i, 0, tmax}];
T3 = Table[{t[i], z[i]}, {i, 0, tmax}];
ListLinePlot[T1]
ListLinePlot[T2]
ListLinePlot[T3]
ListPointPlot3D[Table[{x[t], y[t], z[t]}, {t, 0, tmax}]]
I1 = Interpolation[T1]
I2 = Interpolation[T2]
I3 = Interpolation[T3]
ParametricPlot3D[{I1[t], I2[t], I3[t]}, {t, 0, tmax}]
What I'm looking to do is essentially get the following Lorenz Attractor point graph into a line graph form:
Any help would be appreciated, thanks guys.
Graphics3D[Line@Table[{x[t], y[t], z[t]}, {t, 0, tmax}]]
$\endgroup$