Welcome to our community

Be a part of something great, join today!

[SOLVED] plotting the wave equation

dwsmith

Well-known member
Feb 1, 2012
1,673
$$
u(x,t) = \frac{1}{2}\int_{x - t}^{x + t}g(s)ds = \begin{cases}
t, & (x,t)\in R_1\\
\frac{1}{2}(1 - x + t), & (x,t)\in R_2\\
\frac{1}{2}(x + t + 1), & (x,t)\in R_3\\
1, & (x,t)\in R_4\\
0, & (x,t)\in R_5,R_6
\end{cases}
$$
where
\begin{alignat*}{3}
R_1 & = & \{(x,t):-1 < x - t < 1\text{ and } -1 < x + t < 1\}\\
R_2 & = & \{(x,t):-1 < x - t < 1\text{ and } x + t > 1\}\\
R_3 & = & \{(x,t):x - t < -1\text{ and } -1 < x + t < 1\}\\
R_4 & = & \{(x,t):x - t < -1\text{ and } x + t > 1\}\\
R_5 & = & \{(x,t):x + t < -1\}\\
R_5 & = & \{(x,t):x - t > 1\}
\end{alignat*}

How do I plot this in the Mathematica?
I tried this but it doesn't work.
Code:
u[x_, t_] = 
  Piecewise[{{t, -1 < x - t < 1 And - 1 < x + t < 
      1}, {1/2 (1 - x + t), -1 < x - t < 1 And x + t > 
      1}, {1/2 (x + t + 1), x - t < -1 And - 1 < x + t < 1}, {1, 
     x - t < -1 And x + t > 1}, {0, x + t < -1}, {0, x - t > 1}}];
Manipulate[Plot[u[x, t], {x, -10, 10}], {t, 0, 1, .01}]
 
Last edited:

Ackbach

Indicium Physicus
Staff member
Jan 26, 2012
4,197
I would probably use If statements to define the function. Something like this:

Code:
u[x_,t_]=If[-1<x-t && x-t<1 && -1<x+t && x+t<1,t,
If[-1<x-t && x-t<1 && x+t>1,(1/2)(1-x+t),
...
...]]