форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
39 строки
1.4 KiB
Markdown
39 строки
1.4 KiB
Markdown
# Индивидуальное контрольное задание по теме 7
|
|
|
|
Коваленко Дмитрий, А-01-23
|
|
|
|
## Задание 1
|
|
|
|
Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргументы функции). Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
|
## Решение
|
|
|
|
```py
|
|
import math
|
|
from os import chdir
|
|
|
|
|
|
chdir('/Users/vatarishin/lab_sem_5/python-labs/TEMA7')
|
|
|
|
def sinusoid(amplitude, period, phase, num_samples, filename="sinusoid_signal.txt"):
|
|
signal_list = []
|
|
|
|
for i in range(num_samples):
|
|
value = amplitude * math.sin(2 * math.pi * i / period + phase)
|
|
signal_list.append(value)
|
|
with open(filename, 'w') as file:
|
|
for value in signal_list:
|
|
file.write(f"{value}\n")
|
|
|
|
return signal_list
|
|
|
|
A = 2.0
|
|
T = 10
|
|
phi = 0
|
|
N = 50
|
|
|
|
signal = sinusoid(A, T, phi, N)
|
|
|
|
print(f"Значения сигнала: {signal}")
|
|
|
|
```
|