code for generating triangular waveform in matlab

Thread Starter

sadaf

Joined Aug 4, 2010
25
Hello!
Kindly tell me that what is the code for generating a triangular waveform in matlab. . .?
i am new in matlab............
 

PaulEE

Joined Dec 23, 2011
474
Hello!
Kindly tell me that what is the code for generating a triangular waveform in matlab. . .?
i am new in matlab............
A triangular wave is simply alternating lines with positive and negative slopes between upper and lower limits.

I haven't programmed matlab in awhile, but I envision nested while loops, one overall loop for the number of periods of the wave, one for the "up" line, and one for the "down" line...something like this:
Rich (BB code):
while(i=0; i<periods; i++){ 

while(j=lowerLimit; j<upperLimit; j++)
{
     answerMatrix[length(answerMatrix) + 1] = upperLimit;
}
while(k=upperLimit; k>lowerLimit; k--)
{
     answerMatrix[length(answerMatrix) + 1] = lowerLimit;
}

}
I'm not saying that this will compile, but it's probably one way to do it.
 

MrChips

Joined Oct 2, 2009
28,110
You have to be more specific than this.

Do you want an array of increasing and decreasing numbers or do you want an electrical signal coming from loudspeaker or the line out jack?

What is the amplitude, period and sampling frequency?

To generate an array with the numbers from 0 to 9, simply write:

x = [0:9]

To generate an array with the numbers from 10 to 1:

y = [10:-1:1]

To concatenate the two arrays:

z = [ x y]


You can write this all in one line:

z = [ [0:9] [10:-1:1] ]

As you can see, this is a lot easier than C.
 

Thread Starter

sadaf

Joined Aug 4, 2010
25
no no..............
i think u don't get my question.....
i just want to ask that.....
as we write for sawtooth wave
y=A*sawtooth(t)
so i just asking about the notation of triangular wave
 

holnis

Joined Nov 25, 2011
49
I think you're talking about the function fs_tri(N) it is a function that accept number of harmonics, n as input and produce the Fourier series waveform up to and included n harmonics, it can be implemented as follow:

function fs_tri(N)
x = linspace(0, 10);
f = ones(1,100)*pi;
for i = 1:N
b = -2/i;
f = f + b*sin(i*x);
end
plot(x,f)
 
Top