Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

31 строка
1.9 KiB
Python

'''
По указанному варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию,
на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания
исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
## Задание 1
1. Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала
с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргументы функции). Сигнал должен быть записан
в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
'''
import numpy as np
#ModuleIKZ
import numpy as np
import os
os.chdir("C:\\Users\\gmack\\OneDrive\\Рабочий стол\\3 KURS\\LABS\\python-labs\\TEMA8")
def generate_sinusoidal_signal(amplitude, period, phase, num_samples, filename):
n = np.arange(num_samples)
omega = 2 * np.pi / period #угловая частота
signal = amplitude * np.sin(omega * n + phase)
with open(filename, 'w+') as file:
for value in signal:
file.write(f"{value}\n") # 6 знаков после запятой
return signal
#Проверка
from ModuleIKZ import generate_sinusoidal_signal
lst = generate_sinusoidal_signal(2.0, 20, np.pi/4, 50, filename="result.txt")
print(lst)