форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
30 строки
1.7 KiB
Markdown
30 строки
1.7 KiB
Markdown
# Индивидуальное контрольное задание по теме 7
|
|
|
|
Гордиевских ДанилА-03-23
|
|
|
|
## Задание
|
|
|
|
Разработайте функцию с 3 параметрами: х, yT и T, реализующую расчет по значениям последовательности значений входного сигнала х значений выходного сигнала по формуле: y= (x+T*yТ)/(T+1). Здесь х- одно текущее значение входного сигнала, yT – значение выходного сигнала в предыдущий момент времени, Т – постоянная времени инерционного звена. Создайте список с последовательностью из 100 значений входного синусоидального сигнала с амплитудой 2, периодом 7 и фазой 0.35. Рассчитайте последовательность значений выходных сигналов, принимая Т=3 и yT равным предыдущему в последовательности вычисленных значений y (для первого значения х принять yT=0). Записать результаты в текстовый файл в виде двух столбцов: хi, yi.
|
|
|
|
```python
|
|
import os
|
|
from math import *
|
|
|
|
os.chdir(r"C:\Users\u202-09\Desktop\Новая папка\1\TEMA7")
|
|
f = open("output.txt","w")
|
|
|
|
t = 3
|
|
yt = 0
|
|
out = []
|
|
inp = []
|
|
|
|
for i in range(100):
|
|
inp.append(2*sin(i/7+0.35))
|
|
out.append(fun(inp[i],yt,t))
|
|
yt = out[i]
|
|
|
|
f.write("X\tY\n")
|
|
for i in range(len(out)):
|
|
f.write(str(inp[i])+"\t"+str(out[i])+"\n")
|
|
|
|
``` |