форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
62 строки
3.0 KiB
Python
62 строки
3.0 KiB
Python
"""
|
|
* Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки:
|
|
на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т.
|
|
|
|
* Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением.
|
|
Гистограмма при выводе на экран представляется в виде
|
|
|
|
таблицы: границы интервала, число элементов выборки в интервале.
|
|
|
|
Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины.
|
|
|
|
Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения.
|
|
|
|
* Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х
|
|
Y=b1+b2*X
|
|
и имеющую аргументы b1, b2 и X.
|
|
"""
|
|
|
|
from matplotlib.pyplot import *
|
|
from random import *
|
|
def delaySignal (signal, T):
|
|
""""Расчёт выхода y(t) для устройства задержки: signal - сигнал, T - задаваемая задержка времени"""
|
|
output=[]
|
|
for i in range(len(signal)):
|
|
if i < T:
|
|
output.append(0)
|
|
else:
|
|
output.append(signal[i-T])
|
|
return output
|
|
|
|
#print(delaySignal([random() for _ in range(randint(1,10))], randint(1,5)))
|
|
|
|
def histogram(sample, number):
|
|
bins = (max(sample) - min(sample))/number
|
|
intervals = []
|
|
for i in range(number):
|
|
intervals.append((min(sample)+i*bins, min(sample)+(i+1)*bins))
|
|
objectInIntervals = [0]*number
|
|
for objects in sample:
|
|
objectInterval = int((objects - min(sample))/bins)
|
|
if objectInterval == number:
|
|
objectInterval -=1
|
|
objectInIntervals[objectInterval] +=1
|
|
print("Границы интервалов | Число элементов")
|
|
for i in range(number):
|
|
lowerInterval, upperInterval = intervals[i]
|
|
print(lowerInterval, "-", upperInterval, " |", objectInIntervals[i])
|
|
hist(sample, number)
|
|
xlabel("Значения элементов выборки")
|
|
ylabel("Количество элементов в интервале")
|
|
show()
|
|
return objectInIntervals
|
|
|
|
|
|
a = list(range(1, 8))
|
|
b = list(range(1, 9))
|
|
histogram(a, 4)
|
|
histogram(b, 3)
|
|
|
|
|
|
lineal_regression = lambda b1, b2, X: b1+b2*X
|
|
#print(lineal_regression(3,2,5)) |