# Help to Generate triangle wave

3 views (last 30 days)
taher zaouali on 10 Dec 2019
Commented: taher zaouali on 10 Dec 2019
Si i have this code for a square wave and i need to modify it to a triangle wave how??
t=-0.4:0.001:0.4;
T=0.2;
A=2;
Nt=length(t);
xt=zeros(1,Nt);
P=-0.4;
for n=1:Nt
if t(n)<P+T/2
xt(n)=A;
else
xt(n)=-A;
end
if t(n)>=P+T
P=P+T;
end
end

Erivelton Gualter on 10 Dec 2019
By the way, your code can be replaced by:
t = -0.4:0.001:0.4; % Time Array
T = 0.2 % Wave Period
A = 2; % Amplitude
xt = A*square(2*pi*t/T);
plot(t,xt)
taher zaouali on 10 Dec 2019
Yes i know but my assignment is to use matematical equation.

Erivelton Gualter on 10 Dec 2019
Edited: Erivelton Gualter on 10 Dec 2019
There is a function you might use for this task called sawtooth. You might find some help in this page.
t = -.4:0.001:.4; % Time Array
A = 2;
T = 0.2;
x = 2*sawtooth(2*pi*t/T, 1/2); % sawtooth(T, xmax):
% xmax = 1/2: For triangle wave
plot(t,x)

#### 1 Comment

taher zaouali on 10 Dec 2019
i know the function but i need to use a mathematical equation based on the one i wrote