Help to Generate triangle wave

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

2 Kommentare

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
taher zaouali am 10 Dez. 2019
Yes i know but my assignment is to use matematical equation.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Erivelton Gualter
Erivelton Gualter am 10 Dez. 2019
Bearbeitet: Erivelton Gualter am 10 Dez. 2019

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 10 Dez. 2019

Kommentiert:

am 10 Dez. 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by