How to generate a square periodic wave?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I need to create a continuous wave, however, the following method will not work for what i intend to do. ie
fs = 10000;
t = 0:1/fs:1.5;
x2 = square(2*pi*50*t);
This is because, as the wave is being called inside of a function, which generates derivitves for the solutions to a ODE, the equation needs to call on specific times of t at that point in the function, rather than just from a t-array as shown above. Is there any other way i could create this square wave, using the same frequency?
0 Kommentare
Antworten (1)
Wayne King
am 25 Apr. 2013
Bearbeitet: Wayne King
am 25 Apr. 2013
Perhaps I don't understand your post, but if you create the square wave as shown above, then why can't you obtain the value of the resulting vector (function) at specific times?
fs = 10000;
t = 0:1/fs:1.5;
x2 = square(2*pi*50*t);
Now you know the interval between every value in the waveform. If I want the value of the waveform at 0.02 seconds, you know that corresponds to
x(201)
and so on.
2 Kommentare
winkmal
am 26 Mär. 2018
A bit late, but how about an anonymous function?
x2 = @(t) square(2*pi*50*t);
If you use this in your RHS function, Matlab should be able to evaluate it at any value of t.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!