Изменил(а) на 'TEMA8/report.md'

main
Solovyova_ED 4 дней назад
Родитель 3d8d9d8e88
Сommit 00d6ce48a6

@ -199,38 +199,67 @@ Mod0.tt;Mod0.qq;Mod0.Mod1.perm1
``` ```
## 3.2. Еще пример. ## 3.2. Еще пример.
Создайте модуль MM1, включив в него (скопировать из текста темы 7) разработанные при выполнении предыдущей темы функции, реализующие усилитель, реальный двигатель, тахогенератор и нелинейное звено типа «зона нечувствительности». Затем создайте модуль ММ2, включив в него инструкции, обеспечивающие ввод параметров задачи, формирование входного сигнала, импорт модуля ММ1 и реализацию модели при расчете выходного сигнала: Файл MM0.py:
```py ```py
znach=input('k1,T,k2,Xm,A,F,N=').split(',') import MM2
k1=float(znach[0]) print('y =', MM2.vyhod)
T=float(znach[1]) ```
k2=float(znach[2]) Файл MM1.py:
Xm=float(znach[3]) ```py
A=float(znach[4]) def realdvig(xtt,kk1,TT,yti1,ytin1):
F=float(znach[5]) #Модель реального двигателя
N=int(znach[6]) yp = kk1 * xtt #усилитель
yti1 = yp + yti1 #Интегратор
ytin1 = (yti1+TT*ytin1)/(TT+1)
return [yti1, ytin1]
def tahogen(xtt,kk2,yti2):
#Модель тахогенератора
yp = kk2 * xtt #усилитель
yti2 = yp + yti2 #интегратор
return yti2
def nechus(xtt,gran):
if (xtt < gran) and (xtt > (-gran)):
ytt = 0
elif xtt >= gran:
ytt = xtt - gran
elif xtt <= (-gran):
ytt = xtt + gran
return ytt
```
Файл MM2.py:
```py
znach = input('k1,T,k2,Xm,A,F,N=').split(',')
k1 = float(znach[0])
T = float(znach[1])
k2 = float(znach[2])
Xm = float(znach[3])
A = float(znach[4])
F = float(znach[5])
N = int(znach[6])
import math import math
vhod=[] vhod = []
for i in range(N): for i in range(N):
vhod.append(A*math.sin((2*i*math.pi)/F)) vhod.append(A*math.sin((2*i*math.pi)/F))
import MM1 as mod import mm1 as mod
yi1=0;yin1=0;yi2=0 yi1 = 0; yin1 = 0; yi2 = 0
vyhod=[] vyhod=[]
for xt in vhod: for xt in vhod:
xt1=xt-yi2 #отрицательная обратная связь xt1 = xt - yi2 #отрицательная обратная связь
[yi1,yin1]=mod.realdvig(xt1,k1,T,yi1,yin1) [yi1,yin1] = mod.realdvig(xt1,k1,T,yi1,yin1)
yi2=mod.tahogen(yin1,k2,yi2) yi2 = mod.tahogen(yin1,k2,yi2)
yt=mod.nechus(yin1,Xm) yt = mod.nechus(yin1,Xm)
vyhod.append(yt) vyhod.append(yt)
``` ```
Наконец, создайте главную программу – модуль ММ0, запускающую на выполнение модуль ММ2 и выводящую полученный выходной сигнал
```py ```py
import MM2 k1,T,k2,Xm,A,F,N=9,6,4,11,3,0.5,1500
print('y=',MM2.vyhod) y = [0, 0, ... 0, -70.20177063675057, 0, 257.73311334096866, -677.4095530135962, ... -6.270038281034423e+306, -1.198995988522659e+307]
``` ```
В ответ на запрос программы введите некоторые, подходящие по смыслу значения параметров задачи и проанализируйте полученный выходной сигнал.
## 3.3. Области действия объектов в модулях. ## 3.3. Области действия объектов в модулях.

Загрузка…
Отмена
Сохранить