Plot piecewise function on an interval

1 次查看(过去 30 天)
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?

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Variables, Expressions, Functions, and Preferences 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by