Varying a sinusoidal input

조회 수: 7 (최근 30일)
Reuben Salisbury
Reuben Salisbury 2020년 4월 13일
댓글: Reuben Salisbury 2020년 4월 14일
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.
  댓글 수: 5
Reuben Salisbury
Reuben Salisbury 2020년 4월 13일
I am trying to make the value of X0 vary so that the maximum amplitude is not always constant
darova
darova 2020년 4월 13일
try this madness
x = 0:0.01:10;
y = sin(20*x).*sin(x);
plot(x,y)

댓글을 달려면 로그인하십시오.

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 4월 13일
편집: Ameer Hamza 2020년 4월 13일
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
Ameer Hamza
Ameer Hamza 2020년 4월 14일
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.
Reuben Salisbury
Reuben Salisbury 2020년 4월 14일
Great, thanks again.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Model Order Reduction에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by