Professional Documents
Culture Documents
Прак 6 штуч інтел
Прак 6 штуч інтел
Комп’ютерний практикум №6
з дисципліни «Методи та системи штучного інтелекту»
на тему: «Побудова фазових портретів циклічного сигналу»
Варіант №14
Виконав:
студент гр. БС-11
Косачевський А. О.
Перевірив:
Піднебесна Г.А.
___________________________
(підпис викладача)
Київ-2023
Мета роботи: програмно реалізувати два метода відображення циклічного
сигналу на фазовій площині.
Лістинг програми
import matplotlib.pyplot as plt
from scipy import signal
import numpy
def show_graphics(a,ecg1,ecg2,t1,t2,TAU):
new_ecg1 = ecg1[0:len(ecg1)-TAU]
new_ecg2 = ecg1[TAU:len(ecg1)]
new_ecg3 = ecg2[0:len(ecg2)-TAU]
new_ecg4 = ecg2[TAU:len(ecg2)]
new_ecg5 = numpy.gradient(ecg1,t1)
new_ecg6 = numpy.gradient(ecg2,t2)
if(a == 1):
plt.figure(1,figsize=(16,2))
plt.plot(t1,ecg1), plt.grid
plt.title('ЕКГ')
plt.figure(2,figsize=(16,2))
plt.plot(new_ecg1,new_ecg2,), plt.grid
plt.title('ФП 1')
plt.figure(3,figsize=(16,2))
plt.plot(new_ecg5,ecg1), plt.grid
plt.title('ФП 2')
else:
plt.figure(1,figsize=(16,2))
plt.plot(t2,ecg2,'r'), plt.grid
plt.title('ЕКГ')
plt.figure(2,figsize=(16,2))
plt.plot(new_ecg3,new_ecg4,'r'), plt.grid
plt.title('ФП 1')
plt.figure(3,figsize=(16,2))
plt.plot(new_ecg6,ecg2,'r'), plt.grid
plt.title('ФП 2')
plt.show()
ecg1 = []
with open('ECG1.txt') as f:
for line in f:
inner_list = [elt.strip() for elt in line.split(' ')]
inner_list.remove('')
for a in inner_list:
ecg1.append(float(a))
ecg2 = []
with open('ECG2.txt') as f:
for line in f:
inner_list = [elt.strip() for elt in line.split(' ')]
inner_list.remove('')
for a in inner_list:
ecg2.append(float(a))
f.close()
i = 0
tt = 0.01
t1 = []
while i < len(ecg1):
t1.append(tt)
tt+=0.05
i+=1
i = 0
tt = 0.01
t2 = []
while i < len(ecg2):
t2.append(tt)
tt+=0.05
i+=1
print('Шановний користувач, вас вітає програма шостої лабораторної
роботи.')
print('Для того щоб розпочати роботу, введіть номер ЕКГ, яку ви
хочете побачити (1 або 2).')
a = int(input('Введіть цифру: '))
while((a < 1) or (a > 2)):
print('1 або 2!')
a = int(input('Введіть цифру: '))
Результати роботи
Висновки
В результаті виконання комп’ютерного практикуму було програмно
реалізовано процедуру побудови фазових портретів циклічного сигналу за
допомогою двох двох способів: методом затримки, в основу якого покладено
перехід від одномірної послідовності дискретних значень сигналу до
послідовності N-мірних векторів, та оцінюванням першої похідної. Для цього
було використане мову програмування Python 3, оскільки воно підходить для
вивчення даних і машинного навчання. Результат наведений на скріншотах.