generate a sine wave that ends at 0
10 ビュー (過去 30 日間)
古いコメントを表示
Hello everyone,
As the title says, i'm trying to generate a sine wave that ends at 0. I have this problem when i try to generate a signal with a frquency higher than 1, the signal does not stop at 0.
I use the following code for the sine wave:-
%---------------------
Fs=5000;
f=159.2;
t1=1;
t = 0 : 1/Fs : t1-1/Fs;
A=0.1;
sine=A*sin(2*pi*f*t);
%---------------------
is there any way to make the signal stops at 0? even if that means that the signal moves past the 5000 points.
Regards
Ali
2 件のコメント
Sam Chak
2022 年 4 月 5 日
Wow, I don't know the existence of this function (Introduced in R2018b).
採用された回答
Sam Chak
2022 年 4 月 5 日
編集済み: Sam Chak
2022 年 4 月 5 日
Are you trying to make the Sine wave to hit 0 at the end of the simulation?
f = 159.2; % frequency
Fs = 35*f;
desired_Tend = 1;
n = round(f*desired_Tend);
T = 1/f; % period
t = 0:1/Fs:n*T;
A = 0.1; % amplitude
x = A*sin(2*pi*f*t);
plot(t, x, 'linewidth', 1.5)
axis([0.99 1 min(x) max(x)])
grid on
xlabel('t')
ylabel('x(t)')
title('Sine Wave')
x(length(t))
6 件のコメント
Sam Chak
2022 年 4 月 5 日
I have edited the script in the Answer. This allows you to compute the nearest integer.
desired_Tend = 2;
n = round(f*desired_Tend); % calculate the nearest integer
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Signal Generation, Manipulation, and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!