Multi sine waves function

20 views (last 30 days)
Kanard
Kanard on 5 May 2018
Commented: Star Strider on 5 May 2018
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 Comment
Kanard
Kanard on 5 May 2018
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

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 5 May 2018
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 Comments
Kanard
Kanard on 5 May 2018
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 on 5 May 2018
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!