Manual triangle wave generation
Show older comments
Hello
I want to generate a triangle wave without built in function and I want to do it using this formula

Unfortunately, the output plot is not looking right
I'd appreciate any suggestions

clc;
clear all;
A = 1;
f = 1;
fs = 1000;
t = 0 : 1/fs : 10;
n = [300];
omega0 = 2 * pi * f;
for i = 1 : length(n)
b = 0;
for j = 1 : 2 : n(i)
H = [0 : 0.5 : n(i)];
sr = (1 / j) * (-1)^H(j) *sin(j * omega0 * t);
b = b + sr;
end
b = ( 8 * A / pi ^ 2 ) * b;
figure()
plot(t, b)
end
Answers (1)
A = 1;
f = 1;
fs = 1000;
t = 0 : 1/fs : 10;
n = [300];
omega0 = 2*pi*f;
K = 8*A/pi^2 ;
N = 20 ; % can be changed
x = zeros(size(t)) ;
for i = 0:N
x = x+(-1)^i*1/(2*i+1)*sin((2*i+1)*omega0*t) ;
end
plot(t,x)
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!