Pavel 7 дней назад
Родитель e74566c155
Сommit bedf5c5468

@ -0,0 +1,4 @@
5.918285660014072,9.853825872834358,4.914306865322827
3.0855612967600674,6.9542382200414385,2.0434201644665984
3.5800023965008387,9.325616310281028,8.954675432931069
1.1625623856949419,5.6526777248438265,2.7489262769221523

@ -31,7 +31,7 @@ def signal_zaderzka(vhod_spisok, zaderzka):
vihod.append(0)
else:
# Берем значение, которое было zaderzka тактов назад
el_zad = istoriya[-zaderzka - 1]
el_zad = istoriya[len(istoriya) - zaderzka - 1]
vihod.append(el_zad)
return vihod

@ -1,21 +0,0 @@
def histogram(data, num_bins):
"""Вычисляет и выводит гистограмму в виде таблицы, возвращает bins и counts."""
min_val, max_val = min(data), max(data)
bin_width = (max_val - min_val) / num_bins
bins = [min_val + i * bin_width for i in range(num_bins + 1)] #список границ интервалов min=0, max=10, num_bins=5 → bins=[0, 2, 4, 6, 8, 10]
counts = []
for i in range(num_bins):
count = 0
for x in data:
if bins[i] <= x < bins[i+1] or (x == max_val and i == num_bins - 1):
count += 1
counts.append(count)
print("Гистограмма:")
for i in range(num_bins):
print(f"Интервал: [{bins[i]:.2f}, {bins[i+1]:.2f}], Элементов: {int(counts[i])}")
return bins, counts
import taskik

@ -0,0 +1,64 @@
# Индивидуальное контрольное задание по теме 7
Анисенков Павел, А-01-23
## Задание
3.Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайно-го, равномерно распределенного сигнала типа белого шума с заданными параметрами: грани-цы диапазона изменения, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - запятая в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
## Решение
```py
import random
import math
import os
def bely_shum(niz_gr, verh_gr, kol_otschetov, moifail):
"""
Создает последовательность отсчетов случайного, равномерно
распределенного сигнала типа белого шума с заданными параметрами
Аргументы:
niz_gr - нижняя граница диапазона
verh_gr - верхняя граница диапазона
kol_otschetov - число отсчетов
moifail - имя файла для записи
Возвращает:
Список сгенерированных значений
"""
signal = []
for i in range(kol_otschetov):
sluch = niz_gr + (verh_gr - niz_gr) * random.random()
signal.append(sluch)
fail = open(moifail, 'w')
i = 0
while i < len(signal):
str_el = signal[i:i+3]
zapis = ','.join(str(chislo) for chislo in str_el)
fail.write(zapis + '\n')
i += 3
fail.close()
return signal
if __name__ == "__main__":
os.chdir(r'C:\Users\Professional\Desktop\python-labs\TEMA7')
nizhnyaya = 0.0
verhnyaya = 10.0
kolichestvo = 12
moifail = "signal_belogo_shuma.txt"
res = bely_shum(nizhnyaya, verhnyaya, kolichestvo, moifail)
print("Сгенерированный сигнал:")
print(res)
print(f"Данные записаны в файл: {moifail}")
```
Загрузка…
Отмена
Сохранить