# matlab- generate a periodic and aperiodic waveforms

How can I use matlab to generate a "periodic" and "aperiodic" waveform?

the "periodic" and "aperiodic" waveform can be any giving or use matlab to create them. After have those 2 waveforms, use matlab to plot it.
###### Who is Participating?

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
Huh? Where's the problem?
In two dimensions, try the following, which I have just happened to have available:

[X,Y] = meshgrid(0:.1:5,-1:.1:4);    <-prepares a sortof collection of (x,y) points.

z = X.^2 - 4.*X + Y.^2 - Y - X.*Y;  <-Calculates some function at every such point, saving in z

surfc(X,Y,z);view([1,1,1]);              <-Plots a surface, z = f(x,y)

What do you mean by periodic and aperiodic? A function f(x) = x**2 which is not periodic can be made into a periodic function by repeating its x-parameter, that is, say
F(x) = f(x) for 0 <= x < 1,
= f(x - 1) for 1 <= x < 2,
= f(x - 3) for 2 <= x < 3, etc.
It is considered polite to avoid discontinuities at the chop points, but no matter.
Conversely, a periodic function, such as sine(x) can be made aperiodic by computing sine(exp(x))
Endless, endless possibilities.
Commented:
I'm not sure whether by periodic you mean periodic sampling, or periodic signal shape.  So this response covers both possibilities.

You should aim to get your waveforms into two Matlab arrays (called say "waveformPeriodic" and "waveformAperiodic") which each have 2 columns, but do not necessarily have the same number of rows.  The first column of each array will hold the sample times.

The following code will generate some example arrays :
>> t1 = [1:100]';
>> waveformPeriodic = [t1,sin(t1/10)];
>> waveformAperiodic = [sort(rand(100,1)*100),rand(100,1)];

Now for the plotting :
>> figure
>> plot(waveformPeriodic(:,1),waveformPeriodic(:,2),'.-',waveformAperiodic(:,1),waveformAperiodic(:,2),'.-');
>> zoom on;

Type ">>help plot" for more information on Matlab's plot command.  Note that I have set the linestyles to '.-' so that you can see the individual sample points.

Good luck.

Experts Exchange Solution brought to you by