Plot piecewise function on an interval
    2 views (last 30 days)
  
       Show older comments
    

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?
0 Comments
Accepted Answer
  Torsten
      
      
 on 15 May 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 Comment
  Torsten
      
      
 on 16 May 2017
				I think it should read
tmod = mod(t+2,4)-2;
instead of
tmod = mod(t,4)-2;
Best wishes
Torsten.
More Answers (0)
See Also
Categories
				Find more on Annotations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
