форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
2.9 KiB
2.9 KiB
Общее контрольное задание по теме 7
Киреев Юрий, А-02-23
Задание
- Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с за-держкой на заданное время Т.
- Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в ви-де таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращае-мый результат функции: список с числами элементов выборки в интервалах разбиения.
- Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X.
Решение
>>> def delay(signal, T):
>>> output=[]
>>> for i in range(len(signal)+T):
>>> if i<T:
>>> output.append(0)
>>> else:
>>> output.append(signal[i-T])
>>> return output
>>> x = [0,1,2,3,4,5,6,7,8,9]
>>> y=delay(x,5)
>>> y
[0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> def histogram(data, intervals):
>>> low_g = min(data)
>>> high_g = max(data)
>>> bin_width = (high_g - low_g) / intervals
>>> hist = [0] * intervals
>>> for i in data:
>>> bin_index = int((i - low_g) / bin_width)
>>> if bin_index == intervals:
>>> bin_index = intervals - 1
>>> hist[bin_index] += 1
>>> for i in range(intervals):
>>> min_gran = low_g + i * bin_width
>>> max_gran = low_g + (i + 1) * bin_width
>>> print(f"{min_gran:.1f} - {max_gran:.1f}\t\t{hist[i]}")
>>> print("Возвращаемый список: ")
>>> return hist
>>> data = list(range(1,8))
>>> histogram(data,4)
1.0 - 2.5 2
2.5 - 4.0 1
4.0 - 5.5 2
5.5 - 7.0 2
Возвращаемый список:
[2, 1, 2, 2]
>>> data = list(range(1,9))
>>> histogram(data,3)
1.0 - 3.3 3
3.3 - 5.7 2
5.7 - 8.0 3
Возвращаемый список:
[3, 2, 3]
>>> linreg = lambda b1, b2, x: b1 + b2 * x
>>> linreg(1, 1, 10)
11