форкнуто от main/python-labs
Родитель
b81c2e4a07
Сommit
f7df4fe1d6
@ -0,0 +1,30 @@
|
||||
# Индивидуальное контрольное задание по ТЕМЕ 7
|
||||
|
||||
Беженарь Алёна, А-02-23, Вариант 2
|
||||
|
||||
## Задание
|
||||
Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
||||
|
||||
## Решение
|
||||
```py
|
||||
>>> import random
|
||||
>>> def generate_noise(mean,variance, num_points, filename):
|
||||
... standart_otklon = variance**(1/2) #Среднеквадратичное отклонение
|
||||
... signal=[random.gauss(mean, standart_otklon) for x in range(num_points)] #генерируем сигнал
|
||||
... with open(filename, 'w') as f: #открываем файл
|
||||
... for i in range(0,num_points,3):
|
||||
... line=" ".join(str(value) for value in signal[i:i+3]) #создание строки для записи в файл
|
||||
... f.write(line+"\n")
|
||||
... return signal #возращаем список отсчетов сигнала
|
||||
...
|
||||
>>> noise = generate_noise(0,1,10, "test_noise.txt")
|
||||
>>> print(noise)
|
||||
[-0.5436739913889093, 0.664991565282872, 0.024304199939835725, 0.586156329620318, -0.91293168562729, 1.0918251712936817, -1.812662851600029, -0.3779057893060255, -1.3275643822482055, 1.2549578798676502]
|
||||
```
|
||||
Вывод в файле:
|
||||
```py
|
||||
-0.5436739913889093 0.664991565282872 0.024304199939835725
|
||||
0.586156329620318 -0.91293168562729 1.0918251712936817
|
||||
-1.812662851600029 -0.3779057893060255 -1.3275643822482055
|
||||
1.2549578798676502
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче