%% init
clear;              % clear workspace
close all;          % close all figures

%% defintions
Fs = 2;
Ts = 1/Fs;

t =0:Ts:30;

%% create trapezoidal signal
% time vectors for trapezoidal signal
t_1 = t(1,1:((3/Ts)));
t_2 = t(1,((3/Ts)+1):((16/Ts)));
t_3 = t(1,((16/Ts+1)):((19/Ts)));
t_4 = t(1,((19/Ts+1)):end);

% trapmf(time_vector,[Start_of_trapez, First_edge_ second_edge, end_point])
trapez_1 = trapmf(t_1,[.5 1 2 2.5]); 
trapez_2 = (trapmf(t_2,[3 3.5 4.5 5]))*-1;      % inverse trapezoidal signal
trapez_3 = (trapmf(t_3,[16.5 17 18 18.5]))*-1; 
trapez_4 = (trapmf(t_4,[19 19.5 20.5 21]));

% create complete signal containing trapez_1 to trapez_4
signal = [trapez_1 trapez_2 trapez_3 trapez_4];

%% plot signal
plot (t,signal);
xlabel('x');
ylabel('y');
title ('Nonlinearity');
grid on;                                         