Этот коммит содержится в:
Ksenia
2025-10-20 00:17:00 +03:00
родитель 053779cddb
Коммит e7eeaaf4d8
3 изменённых файлов: 211 добавлений и 5 удалений

Просмотреть файл

@@ -1,5 +1,58 @@
#Программа по Теме 1 <Зеленкина Ксения Михайловна>
print('Hello')
h=input('Your name=')
import os
os.chdir("C:/Users/user/OneDrive/Documents/ZelenkinaKs/python-labs/TEMA1/Отчет")
import numpy as np
import matplotlib.pyplot as plt
# Параметры системы
K = 2.0
# Частотный диапазон (логарифмическая шкала)
omega = np.logspace(-1, 2, 500) # от 0.1 до 100 рад/с
# Действительная и мнимая части АФХ
U = np.zeros_like(omega) # Всегда 0
V = -K / omega # Мнимая часть
# Построение годографа
plt.figure(figsize=(8, 8))
plt.plot(U, V, 'b-', linewidth=2, label='АФХ (годограф)')
plt.plot(U[0], V[0], 'go', markersize=8, label='Начало (ω=0.1)')
plt.plot(U[-1], V[-1], 'ro', markersize=8, label='Конец (ω=100)')
# Стрелки направления увеличения частоты
for i in [50, 150, 300]: # индексы для стрелок
plt.arrow(U[i], V[i], U[i+10]-U[i], V[i+10]-V[i],
head_width=0.1, head_length=0.1, fc='k', ec='k')
plt.xlabel('Действительная часть Re(W)')
plt.ylabel('Мнимая часть Im(W)')
plt.title(f'АФХ для интегрирующего звена $W(p) = K/p$\nK={K}')
plt.grid(True, alpha=0.3)
plt.axis('equal')
plt.legend()
plt.show()
# Дополнительно: построение отдельно действительной и мнимой частей
plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.semilogx(omega, U, 'r-', linewidth=2)
plt.xlabel('ω (рад/с)')
plt.ylabel('Re(W)')
plt.title('Действительная часть')
plt.grid(True, alpha=0.3)
plt.subplot(1, 2, 2)
plt.semilogx(omega, V, 'g-', linewidth=2)
plt.xlabel('ω (рад/с)')
plt.ylabel('Im(W)')
plt.title('Мнимая часть')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
# Вывод таблицы значений
print("Таблица значений АФХ:")
print("ω\t\tRe(W)\t\tIm(W)")
print("-" * 40)
for i in range(0, len(omega), 50):
print(f"{omega[i]:.2f}\t\t{U[i]:.2f}\t\t{V[i]:.2f}")