Plot piecewise function on an interval

5 visualizzazioni (ultimi 30 giorni)
Vinci
Vinci il 15 Mag 2017
Commentato: Torsten il 16 Mag 2017
I'm trying to plot the above periodic function on the interval -10 < t < 10
I can plot it once using:
pw = evalin(symengine,'piecewise([t > -2 and t <= 0, -t^2],[t >=0 and t < 2, t^2])');
fplot(pw)
How would I plot this function on the interval?

Risposta accettata

Torsten
Torsten il 15 Mag 2017
function y=f(t)
y = zeros(size(t)); % Preallocating enough memory for y
tmod=mod(t,4)-2;
region1 = (tmod<0) & (tmod>=-2); % First interval
y(region1) = -tmod(region1).^2;
region2 = (tmod>=0) & (tmod<=2); % Second interval
y(region2) = tmod(region2).^2;
Now you can do this:
t = -10:0.1:10;
y = f(t);
plot(t, y)
Best wishes
Torsten.
  1 Commento
Torsten
Torsten il 16 Mag 2017
I think it should read
tmod = mod(t+2,4)-2;
instead of
tmod = mod(t,4)-2;
Best wishes
Torsten.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by