Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Is it possible in Mathematica to plot an even piecewise function like:

$ f(x) = \begin{cases} 3t , 0 \le t \le \frac{\pi}{2} \\ 3t + 6 , \frac{\pi}{2} \le t \le \pi \end{cases}$

which has a period of $2\pi$ . I can plot the function as is like so:

Plot[Piecewise[{{3t, 0 <= t <= π/2}, {3t + 6, π/2 <= t <= π}}], {t, 0, π}]

but I can't seem to get it to repeat or show evenly.

share|improve this question
1  
You might be interested in this. –  J. M. Oct 23 '12 at 10:25
add comment

2 Answers 2

up vote 4 down vote accepted

The concepts of "even" and "periodic" relate to the action of the one-dimensional analogs of wallpaper groups. "Even" means that the function is invariant under reflection about the origin, $t \to -t$, and "periodic" means it is invariant under translation by some period $p$, $t \to t+p$.

The function $f$ in the question has been declared over a fundamental domain, in this case the interval from $0$ to $\pi$. To extend it to a function of the reals, for each $t$ not in this domain we need to find a group element $g$ (generated by the reflection and translation) for which the application of $g$ to $t$ yields a number $t^{(g)}$ in the fundamental domain. We then define $f(t)$ to equal $f(t^{(g)})$.

Although this may sound abstract, it translates to a highly general, efficient, almost mindless computational method. For one-dimensional groups, we can figure out $t^{(g)}$ by means of the Mod function (to implement the translation) and the Abs function (to implement the reflection). It is convenient first to translate $t$ into a domain that is as close to the origin as possible: do this by offsetting Mod by half the period, as in Mod[t, 2 Pi, -Pi]. The result now lies in the symmetrical interval $[-\pi, \pi]$ around $0$. Taking the absolute value assures the result is positive, where $f$ can be applied. Whence, after defining f as in the question, merely declare its extension g by following this recipe:

f[t_] := Piecewise[{{3 t, 0 <= t <= Pi/2}, {3 t + 6, Pi/2 <= t < Pi}}, Null];
g[t_] := f[Abs[Mod[t, 2 Pi, -Pi]]];
Plot[{g[t], f[t]}, {t, -10, 10}, PlotStyle -> {Thick, Thick}]

Plot of g and f

Visually, it is clear that $g$ (the blue graph) is even and periodic and agrees with $f$ (the red graph) on the fundamental domain $[0, \pi)$ where $f$ is defined.

share|improve this answer
    
Deleted my answer. It wasn't periodic at all! :D –  belisarius Oct 23 '12 at 14:53
add comment

You could use a Mod function to sample the area you have the function defined over at other parts of the $x$-axis if that's what you're aiming for.

f[t_] := Piecewise[{{3 t, 0 <= t <= π/2}, {3 t + 6, π/2 <= t <= π}}]
Plot[f[Mod[t, π]], {t, -π, 2 π}]

plot of function

share|improve this answer
    
I notice that your avatar is changing with your IP address. If you set an email address in your profile it will remain constant. It doesn't have to be a real one, and in fact you can try several until you find one that creates an avatar pattern that you like. If you use a fake one it's better to make it obviously fake so that an admin doesn't try to use it to contact you. –  Mr.Wizard Oct 23 '12 at 12:08
2  
This graph does not depict an "even ... function ... which has period of $2\pi$": it is not even and its period is only $\pi$. –  whuber Oct 23 '12 at 14:47
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.