форкнуто от main/python-labs
Родитель
caa29a9717
Сommit
910e0fa86f
@ -0,0 +1,165 @@
|
||||
# ИКЗ по теме 8, вариант 9
|
||||
|
||||
Девятова Мария, А-03-23
|
||||
|
||||
## Задание
|
||||
|
||||
По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7,
|
||||
разработайте функцию, на ее основе создайте модуль.
|
||||
Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
|
||||
|
||||
Разработайте функцию с 3 параметрами: х, yT и T, реализующую расчет по значениям последовательности значений входного сигнала х значений выходного сигнала по формуле:
|
||||
y= (x+T*yТ)/(T+1). Здесь х- одно текущее значение входного сигнала, yT – значение выходного сигнала в предыдущий момент времени, Т – постоянная времени инерционного звена.
|
||||
Создайте список с последовательностью из 100 значений входного синусоидального сигнала с амплитудой 2, периодом 7 и фазой 0.35.
|
||||
Рассчитайте последовательность значений выходных сигналов, принимая Т=3 и yT равным предыдущему в последовательности вычисленных значений y
|
||||
(для первого значения х принять yT=0). Записать результаты в текстовый файл в виде двух столбцов: хi, yi.
|
||||
|
||||
## Выполнение
|
||||
|
||||
Содержимое модуля [test1](test1.py)
|
||||
|
||||
```
|
||||
def signal(x, yT, T):
|
||||
Y=[]
|
||||
fp=open('testt.txt', 'w')
|
||||
fp.write('Xi\tYi\n')
|
||||
for ins in x:
|
||||
outs=(ins+T*yT)/(T+1)
|
||||
Y.append(outs)
|
||||
yT=outs
|
||||
fp.write(str(ins)+'\t'+str(outs)+'\n')
|
||||
fp.close
|
||||
return Y
|
||||
```
|
||||
|
||||
Содержимое модуля [test2](test2.py)
|
||||
|
||||
```
|
||||
import math
|
||||
from test1 import signal
|
||||
|
||||
X=[2*math.sin(i/7+0.35) for i in range(100)]
|
||||
print('Значения входного сигнала: \n', X)
|
||||
T=3
|
||||
yT=0
|
||||
Y=signal(X, yT, T)
|
||||
print('Значения выходного сигнала: \n', Y)
|
||||
```
|
||||
|
||||
Результат выполнения
|
||||
|
||||
```
|
||||
import os
|
||||
os.chdir('C:\\Users\\u202-13\\Desktop\\python-labs\\TEMA8')
|
||||
import test2
|
||||
Значения входного сигнала:
|
||||
[0.6857956149109027, 0.9462898296904173, 1.1875048283957854, 1.4045262222906436, 1.5929325305407531, 1.7488852611613968, 1.8692071144536306, 1.9514467156533182, 1.993928557963668, 1.9957871384579535, 1.9569845913853061, 1.8783114596277994, 1.7613705885915596, 1.6085444706693701, 1.4229467055816887, 1.2083585655177917, 0.9691519574658317, 0.7102003522571565, 0.4367794950101486, 0.1544599198472869, -0.1310065412654169, -0.4138039433467995, -0.6881707194341071, -0.9485170637471333, -1.1895388154794926, -1.4063255230079892, -1.5944604868761643, -1.7501107433283989, -1.8701051551168981, -1.9519990186001612, -1.9941238708615385, -1.9956214821036073, -1.9564613407750173, -1.8774412751969445, -1.7601711990244597, -1.6070403117043117, -1.4211684221699186, -1.206342387479247, -0.9669389613616545, -0.7078356245172404, -0.4343112133656951, -0.15193837178280983, 0.13352998304311092, 0.4162778675493755, 0.6905447236185105, 0.9507427811887152, 1.191570900570458, 1.4081225751051951, 1.595985893776254, 1.7513334271857646, 1.871000205607518, 1.9525482004315637, 1.9943159952891567, 1.9954526348844288, 1.955934961914334, 1.8765680888634773, 1.7589689950617298, 1.6055335831896365, 1.4193878664052093, 1.2043242805801755, 0.964724419186966, 0.7054697649956605, 0.4318422372867545, 0.14941658077906955, -0.13605321131532275, -0.4187511261515769, -0.692917623668242, -0.9529669784563898, -1.1936010804195147, -1.4099173757088976, -1.5975087488020008, -1.7525533107785047, -1.8718922644943639, -1.9530942602694217, -1.9945049309393286, -1.995280597070394, -1.9554054556449019, -1.8756919020235652, -1.7577639786256143, -1.6040242875345, -1.4176050411345522, -1.2023042480473982, -0.9625083344826699, -0.7031027774752642, -0.42937257072105733, -0.14689455086824513, 0.13857622204758316, 0.4212237151988264, 0.6952894157891905, 0.9551896519938152, 1.1956293517805443, 1.4117099219493288, 1.5990290495184591, 1.7537703921561092, 1.8727813303510932, 1.9536371972406208, 1.9946906775099587, 1.9951053689365787, 1.9548728228133652, 1.8748127160781716]
|
||||
Значения выходного сигнала:
|
||||
[0.17144890372772567, 0.3651591352183986, 0.5707455585127453, 0.7791907244572198, 0.9826261759781032, 1.1741909472739267, 1.3479449890688526, 1.498820420714969, 1.6225974550271438, 1.7158948758848462, 1.7761673047599613, 1.801703343476921, 1.7916201547555806, 1.745851233734028, 1.6651251016959432, 1.5509334676514053, 1.405488090105012, 1.2316661556430482, 1.0329444904848233, 0.8133233478254392, 0.5772408755527252, 0.329479670827844, 0.07506707326235623, -0.18082896099001616, -0.43300642461238525, -0.6763361992112862, -0.9058672711275058, -1.116928139177729, -1.3052223931625213, -1.4669165495219314, -1.5987183798568332, -1.6979441554185268, -1.7625734517576495, -1.7912904076174732, -1.7835106054692198, -1.739393032027993, -1.6598368795634744, -1.5464632565424175, -1.4015821827472266, -1.2281455431897301, -1.0296869607337213, -0.8102498134959935, -0.5743048643612174, -0.3266591813835692, -0.07235820513304927, 0.18341704144739185, 0.4354555062281584, 0.6786222734474175, 0.9079631785296267, 1.1188057406936611, 1.3068543569221254, 1.468277817799485, 1.5997873621719028, 1.6987036803500344, 1.7630115007411093, 1.7914006477717013, 1.7832927345942085, 1.7388529467430653, 1.6589866766586012, 1.5453210776389947, 1.4001719130259875, 1.2264963760184058, 1.027832841335493, 0.8082287761963871, 0.5721582793184598, 0.3244309279509506, 0.07009379004615243, -0.18567140207948313, -0.437653821664491, -0.6807197101755926, -0.9099169698321946, -1.1205760550687722, -1.3084051074251701, -1.469577395636233, -1.6008092794620068, -1.6994271088641035, -1.7634216955593032, -1.7914892471753685, -1.78305793003793, -1.7382995194120725, -1.6581258998426924, -1.5441704868938688, -1.398754948791069, -1.2248419059621178, -1.0259745721518527, -0.8062045668309509, -0.5700093696113174, -0.3222010984087815, -0.06782846985928853, 0.18792606060398742, 0.43985188339812664, 0.6828163930359272, 0.9118695571565603, 1.1223447659064476, 1.309953907017609, 1.470874729573362, 1.6018287165575111, 1.700147879652278, 1.7638291154425498, 1.7915750156014552]
|
||||
```
|
||||
|
||||
Содержимое файла testt.txt
|
||||
|
||||
```
|
||||
Xi Yi
|
||||
0.6857956149109027 0.17144890372772567
|
||||
0.9462898296904173 0.3651591352183986
|
||||
1.1875048283957854 0.5707455585127453
|
||||
1.4045262222906436 0.7791907244572198
|
||||
1.5929325305407531 0.9826261759781032
|
||||
1.7488852611613968 1.1741909472739267
|
||||
1.8692071144536306 1.3479449890688526
|
||||
1.9514467156533182 1.498820420714969
|
||||
1.993928557963668 1.6225974550271438
|
||||
1.9957871384579535 1.7158948758848462
|
||||
1.9569845913853061 1.7761673047599613
|
||||
1.8783114596277994 1.801703343476921
|
||||
1.7613705885915596 1.7916201547555806
|
||||
1.6085444706693701 1.745851233734028
|
||||
1.4229467055816887 1.6651251016959432
|
||||
1.2083585655177917 1.5509334676514053
|
||||
0.9691519574658317 1.405488090105012
|
||||
0.7102003522571565 1.2316661556430482
|
||||
0.4367794950101486 1.0329444904848233
|
||||
0.1544599198472869 0.8133233478254392
|
||||
-0.1310065412654169 0.5772408755527252
|
||||
-0.4138039433467995 0.329479670827844
|
||||
-0.6881707194341071 0.07506707326235623
|
||||
-0.9485170637471333 -0.18082896099001616
|
||||
-1.1895388154794926 -0.43300642461238525
|
||||
-1.4063255230079892 -0.6763361992112862
|
||||
-1.5944604868761643 -0.9058672711275058
|
||||
-1.7501107433283989 -1.116928139177729
|
||||
-1.8701051551168981 -1.3052223931625213
|
||||
-1.9519990186001612 -1.4669165495219314
|
||||
-1.9941238708615385 -1.5987183798568332
|
||||
-1.9956214821036073 -1.6979441554185268
|
||||
-1.9564613407750173 -1.7625734517576495
|
||||
-1.8774412751969445 -1.7912904076174732
|
||||
-1.7601711990244597 -1.7835106054692198
|
||||
-1.6070403117043117 -1.739393032027993
|
||||
-1.4211684221699186 -1.6598368795634744
|
||||
-1.206342387479247 -1.5464632565424175
|
||||
-0.9669389613616545 -1.4015821827472266
|
||||
-0.7078356245172404 -1.2281455431897301
|
||||
-0.4343112133656951 -1.0296869607337213
|
||||
-0.15193837178280983 -0.8102498134959935
|
||||
0.13352998304311092 -0.5743048643612174
|
||||
0.4162778675493755 -0.3266591813835692
|
||||
0.6905447236185105 -0.07235820513304927
|
||||
0.9507427811887152 0.18341704144739185
|
||||
1.191570900570458 0.4354555062281584
|
||||
1.4081225751051951 0.6786222734474175
|
||||
1.595985893776254 0.9079631785296267
|
||||
1.7513334271857646 1.1188057406936611
|
||||
1.871000205607518 1.3068543569221254
|
||||
1.9525482004315637 1.468277817799485
|
||||
1.9943159952891567 1.5997873621719028
|
||||
1.9954526348844288 1.6987036803500344
|
||||
1.955934961914334 1.7630115007411093
|
||||
1.8765680888634773 1.7914006477717013
|
||||
1.7589689950617298 1.7832927345942085
|
||||
1.6055335831896365 1.7388529467430653
|
||||
1.4193878664052093 1.6589866766586012
|
||||
1.2043242805801755 1.5453210776389947
|
||||
0.964724419186966 1.4001719130259875
|
||||
0.7054697649956605 1.2264963760184058
|
||||
0.4318422372867545 1.027832841335493
|
||||
0.14941658077906955 0.8082287761963871
|
||||
-0.13605321131532275 0.5721582793184598
|
||||
-0.4187511261515769 0.3244309279509506
|
||||
-0.692917623668242 0.07009379004615243
|
||||
-0.9529669784563898 -0.18567140207948313
|
||||
-1.1936010804195147 -0.437653821664491
|
||||
-1.4099173757088976 -0.6807197101755926
|
||||
-1.5975087488020008 -0.9099169698321946
|
||||
-1.7525533107785047 -1.1205760550687722
|
||||
-1.8718922644943639 -1.3084051074251701
|
||||
-1.9530942602694217 -1.469577395636233
|
||||
-1.9945049309393286 -1.6008092794620068
|
||||
-1.995280597070394 -1.6994271088641035
|
||||
-1.9554054556449019 -1.7634216955593032
|
||||
-1.8756919020235652 -1.7914892471753685
|
||||
-1.7577639786256143 -1.78305793003793
|
||||
-1.6040242875345 -1.7382995194120725
|
||||
-1.4176050411345522 -1.6581258998426924
|
||||
-1.2023042480473982 -1.5441704868938688
|
||||
-0.9625083344826699 -1.398754948791069
|
||||
-0.7031027774752642 -1.2248419059621178
|
||||
-0.42937257072105733 -1.0259745721518527
|
||||
-0.14689455086824513 -0.8062045668309509
|
||||
0.13857622204758316 -0.5700093696113174
|
||||
0.4212237151988264 -0.3222010984087815
|
||||
0.6952894157891905 -0.06782846985928853
|
||||
0.9551896519938152 0.18792606060398742
|
||||
1.1956293517805443 0.43985188339812664
|
||||
1.4117099219493288 0.6828163930359272
|
||||
1.5990290495184591 0.9118695571565603
|
||||
1.7537703921561092 1.1223447659064476
|
||||
1.8727813303510932 1.309953907017609
|
||||
1.9536371972406208 1.470874729573362
|
||||
1.9946906775099587 1.6018287165575111
|
||||
1.9951053689365787 1.700147879652278
|
||||
1.9548728228133652 1.7638291154425498
|
||||
1.8748127160781716 1.7915750156014552
|
||||
```
|
||||
@ -0,0 +1,13 @@
|
||||
def signal(x, yT, T):
|
||||
Y=[]
|
||||
fp=open('testt.txt', 'w')
|
||||
fp.write('Xi\tYi\n')
|
||||
for ins in x:
|
||||
outs=(ins+T*yT)/(T+1)
|
||||
Y.append(outs)
|
||||
yT=outs
|
||||
fp.write(str(ins)+'\t'+str(outs)+'\n')
|
||||
fp.close
|
||||
return Y
|
||||
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
import math
|
||||
from test1 import signal
|
||||
|
||||
X=[2*math.sin(i/7+0.35) for i in range(100)]
|
||||
print('Значения входного сигнала: \n', X)
|
||||
T=3
|
||||
yT=0
|
||||
Y=signal(X, yT, T)
|
||||
print('Значения выходного сигнала: \n', Y)
|
||||
Загрузка…
Ссылка в новой задаче