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

2.7 KiB

Индивидуальное контрольное задание по Теме 7

Таболин Иван, А-01-23 Вариант 3

Задание

Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, равномерно распределенного сигнала типа белого шума с заданными параметрами: границы диа-пазона изменения, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - запятая в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.

Решение

def bel_shum(a_min,a_max,k,file_name):
    """Генератор белого шума
    a_min,a_max - границы диапазона изменения сигнала
    k - количество отсчетов
    file_name - имя файла для вывода сигнала"""
    import random as rn
    signal=[]
    for i in range(k):
        a=a_min+(a_max-a_min)*rn.random()
        signal.append(a)
    f=open(file_name,'w')
    i=0
    while i<len(signal):
        s=signal[i:i+3]
        out=','.join(str(n) for n in s)
        f.write(out+'\n')
        i+=3
    f.close()
    return signal

bel_shum(0,1,20,'test1.txt')
[0.6121303296306144, 0.6412641200633369, 0.11685946114651469, 0.45963383247709144, 0.1396119953149234, 0.9774252470424362, 0.8214083524197986, 0.3712680592177061, 0.7679917358701837, 0.10872526758897305, 0.7277044250338426, 0.5584257054824748, 0.903225844909946, 0.7162949601167093, 0.37602800658438673, 0.7390155718732525, 0.3665326143981362, 0.8660301445143191, 0.8605103393087415, 0.8265277945070508]

bel_shum(1,5,35,'test2.txt')
[2.044262095730901, 2.9460771147067106, 3.4488422163718373, 4.501325827244864, 3.0908516348657415, 2.2486766582618416, 1.8541368543777854, 4.671136588954065, 2.0377889808927616, 2.907799881297287, 4.185430806328185, 1.3106392123128479, 1.4406582567850679, 3.066287739535445, 2.050387519395883, 2.769661281833263, 1.9383764782362034, 1.1036168746115131, 1.4156131808765569, 2.79017367419333, 3.8290609294438225, 4.342915598480614, 3.371713892072644, 2.866840758354854, 3.229631214986825, 3.671877264456392, 2.258566569052188, 3.821614716506629, 2.128574963495442, 1.8828706347794855, 2.279448934161789, 3.8514469999377954, 4.172031075019252, 3.8783957015255783, 1.2633531800325009]