форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
28 строки
1.4 KiB
Markdown
28 строки
1.4 KiB
Markdown
# Индивидуальное контрольное задание по ТЕМЕ №7
|
|
Степанищев Виктор, А-03-23
|
|
|
|
## Задание
|
|
```
|
|
#2
|
|
Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
|
```
|
|
|
|
## Решение
|
|
|
|
```py
|
|
from random import gauss
|
|
import math
|
|
|
|
def func(mean, dispersia, count, filename):
|
|
otklonenye = math.sqrt(dispersia)
|
|
samples = [gauss(mean, otklonenye) for i in range(count)]
|
|
|
|
|
|
with open(filename, 'w') as f:
|
|
for i in range(0, count, 3):
|
|
f.write(''.join(f"{' '.join(map(lambda x: str(x), samples[i:i+3]))}\n"))
|
|
|
|
return samples
|
|
|
|
func(0, 1, 10, "filename.txt")
|
|
``` |