Multi sine waves function

21 Ansichten (letzte 30 Tage)
Kanard
Kanard am 5 Mai 2018
Kommentiert: Star Strider am 5 Mai 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 Kommentar
Kanard
Kanard am 5 Mai 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Star Strider
Star Strider am 5 Mai 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 Kommentare
Kanard
Kanard am 5 Mai 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 am 5 Mai 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by