Help to Generate triangle wave
2 views (last 30 days)
Show older comments
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 Comments
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)
Answers (1)
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)
See Also
Categories
Find more on Matrices and Arrays 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!