форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
67 строки
2.9 KiB
Markdown
67 строки
2.9 KiB
Markdown
# Общее контрольное задание по теме 7
|
|
Киреев Юрий, А-02-23
|
|
## Задание
|
|
1) Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с за-держкой на заданное время Т.
|
|
2) Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в ви-де таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращае-мый результат функции: список с числами элементов выборки в интервалах разбиения.
|
|
3) Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х
|
|
Y=b1+b2*X
|
|
и имеющую аргументы b1, b2 и X.
|
|
## Решение
|
|
1)
|
|
```py
|
|
>>> 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]
|
|
```
|
|
2)
|
|
```py
|
|
>>> 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]
|
|
```
|
|
3)
|
|
```py
|
|
>>> linreg = lambda b1, b2, x: b1 + b2 * x
|
|
>>> linreg(1, 1, 10)
|
|
11
|
|
``` |