форкнуто от main/python-labs
Родитель
386eae038e
Сommit
cf9bc4b772
@ -0,0 +1,37 @@
|
||||
# Индивидуальное контрольное задание по теме 8
|
||||
Киреев Юрий А-02-23
|
||||
## Задание
|
||||
По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
|
||||
2 вариант 7й темы
|
||||
Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
||||
## Решение
|
||||
Модуль с функцией (modfun):
|
||||
```py
|
||||
import random
|
||||
def generate_noise(mean, variance, otscheti, filename):
|
||||
sto = variance**(1/2)
|
||||
signal=[random.gauss(mean, sto) for x in range(otscheti)]
|
||||
with open(filename, 'w') as fp:
|
||||
for i in range(0,otscheti,3):
|
||||
line=" ".join(str(value) for value in signal[i:i+3])
|
||||
fp.write(line+"\n")
|
||||
return signal
|
||||
```
|
||||
Модуль с инструкциями ввода/вывода (zapusk):
|
||||
```py
|
||||
from modfun import generate_noise
|
||||
noise = generate_noise(0, 1, 5, "test.txt")
|
||||
print(noise)
|
||||
```
|
||||
Проверка:
|
||||
```py
|
||||
import os
|
||||
os.chdir('C:\\Users\\u522-13\\Desktop\\ПОАС')
|
||||
import zapusk
|
||||
[-0.698871305720859, -0.7706401494821621, 0.8869359612629606, -1.7573739796230814, 0.22414109065695026]
|
||||
```
|
||||
Вывод в файле:
|
||||
```py
|
||||
-0.698871305720859 -0.7706401494821621 0.8869359612629606
|
||||
-1.7573739796230814 0.22414109065695026
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче