Varying a sinusoidal input
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Reuben Salisbury
am 13 Apr. 2020
Kommentiert: Reuben Salisbury
am 14 Apr. 2020
I am trying to create a sinusoidal model to simulate the sea as a fixed surface, but I'm not sure how to adapt a simple sinusoidal model so that the wave height and frequency varies within a range (more like the sea). I would change the range for varying sea states, but just need to see how to create a varying amplitude and frequency within a secified range.
Akzeptierte Antwort
Ameer Hamza
am 13 Apr. 2020
Bearbeitet: Ameer Hamza
am 13 Apr. 2020
Try something like this
t = linspace(-10,10,100);
[X,Y] = meshgrid(t);
f = (sin(X+Y)/2+0.5)*0.3+0.3; % frequency change between 0.3 to 0.6
A = (cos(X.*Y/3.5)/2+0.5)*0.3 + 0.7; % amplitude change between 0.7 to 1.0
Z = A.*sin(f.*X).*sin(f.*Y);
surf(X,Y,Z)
It have both variable frequency and amplitude between a specified range.

7 Kommentare
Ameer Hamza
am 14 Apr. 2020
In this equation
fd = (sin(x)/2+0.5)*0.4+0; % frequency change between 0 to 0.4
0 at the end is the lower range of the frequency and 0.4 is the change in frequency. So
fd = (sin(x)/2+0.5)*1.0+0.5;
will have frequency in range [0.5, 1.5].
Similar parameters are defined for amplitude.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Model Order Reduction finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!