форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
1.8 KiB
1.8 KiB
Индивидуальное контрольное задание по теме 7
Зеленкина Катерина, А-02-23 Вариант 1
Задание
Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргументы функции). Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
Решение
import math
def signal(A, T, phi, N, filename):
signal = []
for i in range(N):
value = A * math.sin(2 * math.pi * i / T + phi)
signal.append(value)
f = open(filename, 'w')
for val in signal:
f.write(str(val) + '\n')
f.close()
return signal
result = signal(2.0, 10.0, 0.0, 20, "signal.txt")
print(f"Количество отсчётов: {len(result)}")
print(f"Значений: {result}")
Количество отсчётов: 20
Значения: [0.0, 1.1755705045849463, 1.902113032590307, 1.9021130325903073, 1.1755705045849465, 2.4492935982947064e-16, -1.175570504584946, -1.902113032590307, -1.9021130325903073, -1.1755705045849467, -4.898587196589413e-16, 1.1755705045849445, 1.902113032590307, 1.9021130325903073, 1.1755705045849467, 7.347880794884119e-16, -1.1755705045849456, -1.9021130325903068, -1.9021130325903075, -1.175570504584947]
