how to define a sinusoid function over a specific range

Hi all,
I wonder how to define sin function over a specific range of n. For example, n=1:20 and
x= sin(pi*n) over 0<n<5 and 0 elsewhere.
it should be modified in a way so that I can time shift it or scale it
Thanks

1 件のコメント

Adam
Adam 2018 年 8 月 30 日
Just calculate it up to 5 and then append 0s to the end.

サインインしてコメントする。

回答 (1 件)

Sven
Sven 2018 年 8 月 30 日
編集済み: Sven 2018 年 8 月 30 日

0 投票

f = 10; % Frequency in Hertz
a = 2; % Amplitude
startTime = 0; % Time in seconds
endTime = 10; % Time in seconds
samples = 100; % Number of samples
x = linspace(startTime,endTime,samples);
y = a*sin(2*pi*f*x);
plot(x,y)
linspace produces a vector with evenly spaced points between startTime and endTime. If you work with radians, just delete the 2*pi inside the sine function.

1 件のコメント

Romio
Romio 2018 年 8 月 30 日
Thank you. But what I wanted was a conditional function that is defined over all the values of n, though it is zero for n>5 I intend to use it as an input to a system and modify by time shifting or scaling

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCommunications Toolbox についてさらに検索

質問済み:

2018 年 8 月 30 日

コメント済み:

2018 年 8 月 30 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by