I have a question about plotting a function with an implicitly defined variable. I think the solution should be something similar like here: Define a function with variables linked implicitly but I quite can't get it to work. I apologize if this has been asked for, I tried doing a thorough search before asking. Anyway, I am trying to plot the following function:
u(x,y,t)=sgn(x+y−t+r(t))(e−|x+y−t+r(t)|−1)+r(t)e−|x+y+r(t)+ln(19r(t)2−12r(t)+1)|
where r(t) is implicitly defined with the following equation ln|r(t)|−12ln|r(t)2−92r(t)+9|+3√77tan−1(4r(t)−93√7)=2t.
Ultimately, I would like to use Plot3D for u(x,y) and use Manipulate to see the function at different time steps of t. Thank you in advance for your time and help. It's greatly appreciated.
Edit: Here is some mathematica format to make life easier:
Sign[x + y - t + r] (Exp[-Abs[x + y - t + r]] -1) + r*Exp[-Abs[x + y - t + Log[1/9*r^2 - 1/2*r + 1]]]
and
Log[Abs[r]] + 1/2 Log[Abs[r^2 - 9/2 r + 9]] +3 Sqrt[7]/7*ArcTan[(4 r - 9)/(3 Sqrt[7])]
Answer
u[x_?NumericQ, y_?NumericQ, t_?NumericQ] :=
Sign[x + y - t + rr[t]] (Exp[x + y - t + rr[t]] - 1) +
rr[t]*Exp[x + y - t + Log[1/9*rr[t]^2 - 1/2*rr[t] + 1]]
rr[t_] := r /. FindRoot[ 2 t - Log[Abs[r]] + (1/2) Log[Abs[r^2 - 9/2 r + 9]] +
3 Sqrt[7]/7*ArcTan[(4 r - 9)/(3 Sqrt[7])], {r, 1}]
This can plot it, options added for some speed
ContourPlot3D[u[x, y, t], {x, -2, 2}, {y, -2, 2}, {t, -1, 1},
PlotPoints -> 5, MaxRecursion -> 1, Mesh -> None, Contours -> 4]
Comments
Post a Comment