How do I generate a Triangle function

How would I generate code for implementing the triangle function triangle(2Bt-n) for n = 1:20
so far:
t = 0:0.005:1;
g_t = 0;
g_a = sin(2*pi*t)+(0.5*cos(6*pi*t))+(0.25*cos(18*pi*t)); %given
B = 10;
for n = 1:20
h = 2*B*t-n;
g_t = g_t + (n/(2*B)).*g_a.*(1-abs(2*B*t-n));
end
figure(1);
hold on;
box on;
plot(t,g_t,'r');
plot(t,g_a,'b');
ylabel('amplitude g(t)');
xlabel('time t');
title('sync waveform reconstruction');
axis([0 1 -2 2]);

回答(1 个)

How about using sawtooth(), or using triang() followed by repmat()?

3 个评论

So I am supposed to create my own triangle function (or something that acts like it) and not use MatLab's. I'm fairly new to MatLab so I'm not sure how that coding would look. This was for a homework assignment we did last week but as there were no solutions posted it is driving me crazy and I wanted to revisit it since I would actually like to be able to use MatLab.
Attached is my demo. I've posted it several times before.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by