Replicating a plot over multiple periods in the same figure
8 views (last 30 days)
Show older comments
I have a piecewise function defined by the following:
v = @(t,a,b) (t>=a) & (t<b);
f=@(t) 0.*v(t,-1,0) + 2*t.*v(t,0,0.5) + 0.*v(t,0.5,0.5) +...
(2*t-2).*v(t,0.5,1) + 0.*v(t,1,2)
t=[0:0.01:1];
I can plot this function over the interval (0,1), but I need to plot it over several intervals, while maintaining the shape and values of the function.
Note: The lower and upper limits of t in the function can be increased and decreased.
Thanks all.
1 Comment
Walter Roberson
on 4 Nov 2011
You might as well simplify your function to
f = @(t) 2*t.*v(t,0,0.5) + (2*t-2).*v(t,0.5,1)
as the 0.* parts are never going to add anything to the sum.
Accepted Answer
Fangjun Jiang
on 4 Nov 2011
If a and b are varied, then you need to put a and b as input arguments for f too.
Even with that, I think it's still hard to make it work for any time interval as a and b need to vary according to the time.
You might take a complete different route to make the function. Is that you need to create a saw-tooth wave signal? What are the required calibration parameters, the frequency, the magnitude? Once you put down those requirements, I think there is a better way to do this.
t=0:0.01:1;
y=@(t) mod(2*t-1,2)-1;
figure(2);plot(t,y(t));
t=-1:0.01:2;
figure(3);plot(t,y(t));
0 Comments
More Answers (0)
See Also
Categories
Find more on Stair Plots 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!