Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3.0 KiB

Общее контрольное задание по Теме 7

Таболин Иван, А-01-23

Задание

  1. Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т.

  2. Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения.

  3. Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y ли-нейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X.

Решение

def zader(x,T):
    """Функция задержки сигнала
    x - исходный сигнал
    T - задержка"""
    y=[0]*T+x
    return y

x=[10,12,14,16]
zader(x,2)
[0, 0, 10, 12, 14, 16]
def mkhist(sel,bins):
    if bins <= 0:
	return []
    sel.sort()
    shag=(max(sel)-min(sel))/bins
    kol=[]
    a=min(sel)
    b=a+shag
    for i in range(bins-1):
        k=0
        for n in sel:
            if (n>=a) and (n<b):
                k+=1
        kol.append(k)
        a+=shag
        b+=shag
    k=0
    for n in sel:
        if (n>=a) and (n<=b):
            k+=1
    kol.append(k)
    return kol

spis
[1, 2, 3, 4, 5, 6, 7, 8]
mkhist(spis,3)
[3, 2, 3]

for i in range(5):
              spis=[]
              a=rn.randint(1, 10)
              b=rn.randint(1, 10)
              for i in range(100):
                  spis.append(rn.betavariate(a,a))
              mkhist(spis,4)

              
[33, 19, 23, 24]
[13, 32, 35, 20]
[14, 37, 37, 12]
[18, 32, 38, 12]
[12, 39, 36, 12]

for i in range(5):
              spis=[]
              a=rn.randint(1, 10)
              b=rn.randint(1, 10)
              for i in range(100):
                  spis.append(rn.betavariate(a,b))
              mkhist(spis,4)

              
[26, 42, 24, 8]
[64, 25, 10, 1]
[8, 25, 36, 30]
[18, 24, 34, 24]
[34, 41, 22, 3]
a,b          
(6, 9)
anon_linregr=lambda b1,b2,x: b1+b2*x
res=anon_linregr(-3,2,6);res
9