plotting piecewise periodic function
24 views (last 30 days)
Show older comments
How would I plot this function on the range 0<=t<=20?
x= 2(1-t), 0<=t<=1
x= t-1, 1<t<=3
Answers (2)
Jonas
on 31 Dec 2021
you could generate the values for one cycle and then repeat the values using repmat()
0 Comments
Image Analyst
on 31 Dec 2021
Your question did not specify what the value of x is for t > 3 so I'll assume it's zero.
Try this:
% How would I plot this function on the range 0<=t<=20?
% x= 2(1-t), 0<=t<=1
% x= t-1, 1<t<=3
numElements = 512; % Whatever resolution you want.
% Get t axis.
t = linspace(0, 20, numElements);
% Initialize x to all zeros.
x = zeros(1, numElements);
% Get the first range.
indexRange1 = t >= 0 & t <= 1;
x(indexRange1) = 2 * (1 - t(indexRange1));
% Get the second range.
indexRange2 = t > 1 & t <= 3;
x(indexRange2) = t(indexRange2) - 1;
% Plot x
plot(t, x, 'b-', 'LineWidth', 2);
grid on;
fontSize = 18;
title('x vs. t', 'FontSize', fontSize);
xlabel('t', 'FontSize', fontSize);
ylabel('x', 'FontSize', fontSize);
0 Comments
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!