Help to Generate triangle wave
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Erivelton Gualter
2019-12-10
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)
回答(1 个)
Erivelton Gualter
2019-12-10
编辑:Erivelton Gualter
2019-12-10
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)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!