форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
2.7 KiB
2.7 KiB
Индивидуальное контрольное задание по теме 8
Махнов Георгий, А-01-23
По указанному варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
Задание 1
- Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргу-менты функции). Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
Выполнение
#ModuleIZK
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)
>>> [ 1.41421356 1.78201305 1.97537668 1.97537668 1.78201305 1.41421356
0.907981 0.31286893 -0.31286893 -0.907981 -1.41421356 -1.78201305
-1.97537668 -1.97537668 -1.78201305 -1.41421356 -0.907981 -0.31286893
0.31286893 0.907981 1.41421356 1.78201305 1.97537668 1.97537668
1.78201305 1.41421356 0.907981 0.31286893 -0.31286893 -0.907981
-1.41421356 -1.78201305 -1.97537668 -1.97537668 -1.78201305 -1.41421356
-0.907981 -0.31286893 0.31286893 0.907981 1.41421356 1.78201305
1.97537668 1.97537668 1.78201305 1.41421356 0.907981 0.31286893
-0.31286893 -0.907981 ]
Полученный файл result.txt