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