Plot piecewise function on an interval

2 Ansichten (letzte 30 Tage)
Vinci
Vinci am 15 Mai 2017
Kommentiert: Torsten am 16 Mai 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?

Akzeptierte Antwort

Torsten
Torsten am 15 Mai 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 Kommentar
Torsten
Torsten am 16 Mai 2017
I think it should read
tmod = mod(t+2,4)-2;
instead of
tmod = mod(t,4)-2;
Best wishes
Torsten.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by