|
Tizimlarni simulyatsiya qilish va modellashtirish
|
bet | 142/182 | Sana | 19.05.2024 | Hajmi | 5,69 Mb. | | #244351 |
Bog'liq Python sun\'iy intellekt texnologiyasi Dasrlik 2024Tizimlarni simulyatsiya qilish va modellashtirish:
Kutubxonalar: Sympy, Simulink (MATLAB orqali ishga tushirish)
Foydalanish misoli:
import simpy
def system_model(env):# Tizim modeli, hodisalar va jarayonlarning tavsifi
yield env.timeout(5) # ...
env = simpy.Environment()
env.process(system_model(env))
env.run(until=20)
Bu usullar va yondashuvlarning kichik bir ko‘rinishi. Usulni tanlash siz ishlab chiqayotgan tizimning o‘ziga xos talablari va xususiyatlariga bog’liq.
Python-da avtomatik boshqaruv tizimlarini (ACS) ishlab chiqish muayyan vazifaga qarab turli usullar va algoritmlardan foydalanishni o‘z ichiga olishi mumkin. Avtomatik boshqaruv tizimlarini yaratishda keng qo‘llaniladigan ba’zi usullar va algoritmlarning umumiy ko‘rinishi:
Proportsional integral differentsial (PID) regulyatori:
Bu tizimlarni barqarorlashtirish uchun muhandislikda keng qo‘llaniladigan klassik boshqaruv usuli.
Python-da PID regulyatorlarini tahlil qilish va loyihalash uchun vositalarni taqdim etadigan control yoki scipy kabi ko‘plab kutubxonalar mavjud.
import control as ctrl # Tizim ob’ektini yaratish
system = ctrl.TransferFunction([1], [1, 2, 1])# PID regulyatorini yaratish
controller = ctrl.TransferFunction([1, 2, 1], [1, 0])
# Tizimni regulyator bilan ulash
system_with_controller = ctrl.series(controller, system) # Fikr-mulohaza
closed_loop_system = ctrl.feedback(system_with_controller)
Mashinali o‘qitish usullari:
Moslashuvchan va aqlli boshqaruv tizimlarini yaratish uchun regressiya, tasniflash yoki kuchaytirish kabi mashinali o‘qitish algoritmlaridan foydalanish.
Scikit-learn yoki TensorFlow kabi kutubxonalar ushbu usullarni amalga oshirish uchun vositalarni taqdim etadi.
from sklearn.ensemble import RandomForestRegressor
# Boshqarish uchun tasodifiy o‘rmon modelini o‘rgatish
model = RandomForestRegressor()
model.fit(X_train, y_train) # Boshqarish signalini bashorat qilish
control_signal = model.predict(X_test)
|
| |