drawing a triangular wave

hey guys, what would be the best way to draw a triangular wave?
I just need one triangular wave so my attempt was to draw the left side of the peak of something like y = 2x -8
and right side y = -2x + 8 or something and combine the two, but then I dont know how to make that into one function or graph?

 Accepted Answer

Hi Soloby,
You just asked a question on fuzzy logic, I assume this is in the same area!
Have you tried trimf or trapmf membership functions?

5 Comments

i just looked at the help trapmf
it states
x = (0:0.1:10)';
y1 = trapmf(x, [2 3 7 9]);
y2 = trapmf(x, [3 4 6 8]);
y3 = trapmf(x, [4 5 5 7]);
y4 = trapmf(x, [5 6 4 6]);
plot(x, [y1 y2 y3 y4]);
set(gcf, 'name', 'trapmf', 'numbertitle', 'off');
what if i just need 1 symmetric triangular wave?
Soloby
You can either use trimf or!!!
do it like this
y1 = trapmf(x,[2 3 3 9]);
To of the numbers in the middle that defines the trapmf should be the same, which indicates the apex of your triangle
I have tried this.
x = 0:10:0.1; f1 = trapmf(x, [2 7 7 9]); f2 = trapmf(x, [2 9 9 18]); plot(x, f1, x, f2)
nothing seems to be showing up in my graph, though? do you know why
you made a mistake defining x
x = 1:0.1:10
not
x = 0:10:0.1 % this is wrong
you're completely right. thank you. I'll ask more on the other question we've been threading. thanks!

Sign in to comment.

More Answers (1)

See my attached demo
% Creates triangle waves two ways, one using repmat() and
% one using sawtooth() from the Signal Processing Toolbox.

Categories

Community Treasure Hunt

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

Start Hunting!