pyFTSex/service/api/generate.py
2024-08-15 12:15:32 +04:00

30 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import math
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
def generate_sine_series(length=100, amplitude=1, frequency=0.5, phase=0, offset=0):
"""
Генерация временного ряда в виде синусоиды.
:param length: Длина временного ряда (количество точек).
:param amplitude: Амплитуда синусоиды.
:param frequency: Частота синусоиды.
:param phase: Фазовый сдвиг синусоиды (в радианах).
:param offset: Смещение (сдвиг по вертикали) синусоиды.
:return: Pandas DataFrame с временным рядом.
"""
# Создаем индекс для DataFrame
times = range(length)
# Генерируем значения синусоиды
values = [amplitude * np.sin(2*np.pi/frequency * index + phase) + offset for index in times]
# Возвращаем DataFrame с временным рядом
return pd.DataFrame(values, index=times, columns=['value'])
if __name__ == '__main__':
temp = generate_sine_series(length=500, frequency=50, amplitude=100)
plt.plot(temp)
plt.savefig("images/plot.png")