ответвлено от main/python-labs
37 строки
1.1 KiB
Python
37 строки
1.1 KiB
Python
def signal_zaderzka(vhod, zaderzka, vihod):
|
|
return vhod - zaderzka if len(vihod) >= zaderzka else 0
|
|
|
|
zaderzka = 3
|
|
vihod = []
|
|
vhod = [1, 2, 3, 4, 5]
|
|
|
|
for i in vhod:
|
|
vihod = vihod + [signal_zaderzka(i, zaderzka, vihod)]
|
|
|
|
print("входной сигнал: ", vhod, "выходной сигнал: ", vihod)
|
|
|
|
def histogram(data, num_bins):
|
|
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)]
|
|
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 random
|
|
data = [random.gauss(0, 1) for _ in range(1000)]
|
|
num_bins = 10
|
|
bins, counts = histogram(data, num_bins)
|
|
|
|
anon = lambda b1, b2, X: b1 + b2 * X
|
|
Y = anon(1, 2, 3)
|
|
print(Y)
|