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

6.3 KiB

Индивидуальное контрольное задание.

Вариант 9

По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.

Разработайте функцию с 3 параметрами: х, yT и T, реализующую расчет по значениям последовательности значений входного сигнала х значений выходного сигнала по формуле: y= (x+T*yТ)/(T+1). Здесь х- одно текущее значение входного сигнала, yT – значение выходного сигнала в предыдущий момент времени, Т – постоянная времени инерционного звена. Создайте список с последовательностью из 100 значений входного синусоидального сигнала с амплитудой 2, периодом 7 и фазой 0.35. Рассчитайте последовательность значений выходных сигналов, принимая Т=3 и yT равным предыдущему в последовательности вычисленных значений y (для первого значения х принять yT=0). Записать результаты в текстовый файл в виде двух столбцов: хi, yi.

test_calc.py:

def calc_y(x, yT, T):
    return (x + T * yT) / (T + 1)

test_main.py:

import math
import os
from test_calc import calc_y

x_list = []
for i in range(100):
    x = 2 * math.sin(2 * math.pi * i / 7 + 0.35)
    x_list.append(x)

T = 3
y_list = []
yT = 0
for x in x_list:
    y = calc_y(x, yT, T)
    y_list.append(y)
    yT = y

fp=open(os.getcwd()+ '/TEMA8/results.txt', 'w')
for xi, yi in zip(x_list, y_list):
    fp.write(f"{xi}\t{yi}\n")
fp.close()

results.txt:

0.6857956149109027	0.17144890372772567
1.8964488934073493	0.6026989011476316
1.6790374746606227	0.8717835445258794
0.19727659137173062	0.7031568062373422
-1.4330375889291693	0.16910820744571436
-1.9842452361268608	-0.36923015344742943
-1.0412757492945761	-0.5372415524092161
0.6857956149109016	-0.23148226057918672
1.896448893407349	0.3005005279174472
1.6790374746606234	0.6451347646032413
0.197276591371732	0.533170221295364
-1.4330375889291658	0.04161826873923152
-1.984245236126861	-0.4648476074772916
-1.0412757492945737	-0.6089546429316122
0.6857956149109011	-0.28526707847098387
1.8964488934073476	0.260161914498599
1.6790374746606236	0.6148808045391052
0.19727659137172895	0.5104797512472612
-1.4330375889291704	0.024600416203153286
-1.9842452361268605	-0.47761099687935016
-1.041275749294574	-0.6185271849831562
0.685795614910904	-0.2924464850096411
1.8964488934073476	0.25477735959460607
1.679037474660622	0.61084238836111
0.19727659137172943	0.5074509391137649
-1.4330375889291702	0.022328807103031145
-1.9842452361268597	-0.47931470370444157
-1.0412757492945743	-0.6198049651019748
0.6857956149109036	-0.29340482009875524
1.8964488934073496	0.25405860827777094
1.679037474660626	0.6103033248734847
0.19727659137172993	0.507046641498046
-1.4330375889291698	0.02202558389124204
-1.9842452361268605	-0.4795421211132836
-1.0412757492945688	-0.6199755281586049
0.685795614910903	-0.2935327423912279
1.8964488934073493	0.25396266655841643
1.6790374746606225	0.610231368583968
0.19727659137173043	0.5069926742809086
-1.4330375889291693	0.02198510847838908
-1.9842452361268608	-0.4795724776729234
-1.0412757492945752	-0.6199982955783363
0.6857956149109026	-0.2935498179560266
1.8964488934073493	0.2539498598848174
1.6790374746606305	0.6102217635787707
0.1972765913717309	0.5069854705270107
-1.433037588929169	0.021979705662965754
-1.9842452361268608	-0.4795765297844909
-1.0412757492945757	-0.6200013346620121
0.6857956149109021	-0.29355209726878356
1.8964488934073491	0.2539481504002496
1.6790374746606231	0.6102204814653429
0.19727659137171724	0.5069845089419365
-1.4330375889291687	0.02197898447416019
-1.9842452361268608	-0.47957707067609506
-1.0412757492945761	-0.6200017403307153
0.6857956149109017	-0.2935524015203111
1.896448893407349	0.2539479222116039
1.6790374746606234	0.6102203103238588
0.19727659137173187	0.5069843805858271
-1.4330375889291584	0.021978888207080716
-1.9842452361268608	-0.4795771428764046
-1.0412757492945766	-0.6200017944809476
0.6857956149109012	-0.2935524421329854
1.8964488934073487	0.2539478917520981
1.6790374746606236	0.6102202874792295
0.19727659137173237	0.5069843634523552
-1.4330375889291682	0.021978875356974348
-1.9842452361268592	-0.47957715251398403
-1.041275749294577	-0.6200018017091322
0.6857956149109008	-0.29355244755412396
1.8964488934073487	0.2539478876862442
1.6790374746606316	0.610220284429841
0.19727659137176112	0.5069843611653211
-1.4330375889291578	0.02197887364170137
-1.9842452361268645	-0.4795771538004401
-1.0412757492945894	-0.6200018026739774
0.6857956149109004	-0.293552448277758
1.896448893407344	0.2539478871435175
1.679037474660624	0.6102202840227942
0.19727659137174747	0.5069843608600325
-1.4330375889291476	0.021978873412737465
-1.9842452361268628	-0.4795771539721626
-1.0412757492945777	-0.6200018028027664
0.6857956149108865	-0.29355244837435324
1.8964488934073482	0.25394788707107213
1.679037474660632	0.6102202839684621
0.19727659137176212	0.5069843608192871
-1.4330375889291374	0.02197887338218102
-1.9842452361268612	-0.47957715399507955
-1.0412757492945903	-0.6200018028199572
0.6857956149108727	-0.2935524483872497
1.8964488934073436	0.2539478870613986
1.67903747466064	0.610220283961209
0.19727659137174847	0.5069843608138438
-1.4330375889291667	0.02197887337809118
-1.984245236126863	-0.4795771539981474
-1.0412757492946028	-0.6200018028222611
0.6857956149108856	-0.29355244838897443
1.896448893407348	0.2539478870601062