Как создать синтетическую волну косинуса c с изменением амплитуды и фазы? - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь создать косинусную волну на numpy, которая меняется со временем по амплитуде и фазе? Как я могу это сделать?

Пока у меня это есть, но амплитуда или фаза меняются со временем:

east_sine = np.zeros((50,50))
sine = np.zeros((50))

for t in range(50):
    for x in range(50):
        sine[x] = np.sin(20*x*np.pi/100 - .1*t) 
        east_sine[t,:] = sine 

1 Ответ

0 голосов
/ 06 апреля 2020

Пожалуйста, уточните c с вашими вопросами.

Если вы хотите иметь амплитуду и фазу, зависящие от времени, вам необходимо определить синус в форме:

sine = A(t) * sin(a*x - b(t)*t)

Например, где A(t) = t и b(t) = 0.1 t**2:


x = np.linspace(0,50,1000)
t = np.linspace(0,10,1000)

sine =  t * np.sin(x - 0.1*np.square(t)*t)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...