Multi sine waves function

20 ビュー (過去 30 日間)
Kanard
Kanard 2018 年 5 月 5 日
コメント済み: Star Strider 2018 年 5 月 5 日
Hello, right now I don't know how to create a multi sinus function with frequency from 1kHz to 2 kHz, with Amplitude varies from 0.25 to 1, in time from -2.5 to 2.5 second. I have tried with a loop 'for' but the problem is matrice t and f can't multiply with each other because of size.
for f = 1000:200:2000
A(n) = 1:-0.75/(length(f)-1):0.25;
V(n) = A(n)*sin(2*pi*f.*t + phi);
end
can someone help me with this?
  1 件のコメント
Kanard
Kanard 2018 年 5 月 5 日
can anyone check if what I wrote here is correct or not.
ts = 1/100;
t = -0.25:ts:0.25;
f = 400:200:3000;
A = 1:-0.75/(length(f)-1):0.25;
V = 0;
phi = rand(1,14);
for i = 1:14
V = V + A(1,i)*sin(2*pi*f(1,i)*t + phi(1,i));
plot(t,V(1,:));
hold on
end

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

採用された回答

Star Strider
Star Strider 2018 年 5 月 5 日
I’m not certain what result you want.
Your posted code doesn’t show any oscillations when I run it. I would change the argument of the sin function to divide by the number of elements of ‘t’ in order to show the oscillations:
V = V + A(1,i)*sin(2*pi*f(1,i)*t/numel(t) + phi(1,i));
Beyond that, I have no suggestions.
  2 件のコメント
Kanard
Kanard 2018 年 5 月 5 日
Hello, thanks for your reply, what I want is a function, which is a sum of many other sinusoidal signals, which frequencies and Amplitudes are in the range above. I tried to assign F and A to matrices and calculate each signal then plot all of them into a single figure. However i'm not sure if this is correct or not.
Star Strider
Star Strider 2018 年 5 月 5 日
My pleasure.
Your code calculates and plots the evolving sum of all the waveforms, so if that’s what you want to do, it’s working.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by