How to generate a square periodic wave?
이전 댓글 표시
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?
답변 (1개)
Wayne King
2013년 4월 25일
편집: Wayne King
2013년 4월 25일
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
Joe Koning
2013년 4월 25일
winkmal
2018년 3월 26일
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.
카테고리
도움말 센터 및 File Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!