Print Page | Close Window

code for generating triangular waveform in matlab



Printed From: ProjectsQA
Category: Projects Forum
Forum Name: MATLAB Projects
Forum Discription: Projects and discussion on various areas of Matlab like Computer Vision, Image Processing, Signal Processing, Wireless Communication, Deep Learning, Data Analytics, Robotics, Control Systems
URL: http://projectsqa.com/forum_posts.asp?TID=2488
Printed Date: 22-Jun-2018 at 5:17am


Topic: code for generating triangular waveform in matlab
Posted By: siva
Subject: code for generating triangular waveform in matlab
Date Posted: 06-Feb-2018 at 6:17pm
Hello!
Kindly tell me that what is the code for generating a triangular waveform in matlab. . .?
i am new in matlab............



Replies:
Posted By: LokeshNash
Date Posted: 06-Feb-2018 at 6:20pm
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:

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.


Posted By: PrashanthS
Date Posted: 06-Feb-2018 at 6:22pm
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.


Posted By: Krishna_Sridhar
Date Posted: 06-Feb-2018 at 6:23pm
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


Posted By: siva
Date Posted: 06-Feb-2018 at 6:24pm
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)


Posted By: Krishna_Sridhar
Date Posted: 06-Feb-2018 at 6:25pm
i got it..........
it is
y=A*sawtooth(t,o.5)
this is to plot triangular wave



Print Page | Close Window