Pythonla Kızamık Hastalığının Tedavisi İçin Bir Matematiksel Modeli Çözmek ve Sonuçları Grafikle Göstermek
Kaya Ridvan
Pythonla Kızamık Hastalığının Tedavisi İçin Bir Matematiksel Modeli Çözmek ve Sonuçları Grafikle Göstermek
Pythonla Kýzamýk Hastalýðýnýn Tedavisi Ýçin Bir Matematiksel Modeli Çözmek ve Sonuçlarý Grafikle Göstermek
# Gerekli kütüphaneleri içe aktar
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
# Parametreleri tanýmla
beta = 0.5 # Bulaþma katsayýsý
gamma = 0.2 # Ýyileþme oraný
mu = 0.01 # Doðal ölüm oraný
nu = 0.01 # Doðal doðum oraný
alpha = 0.1 # Kýzamýk kaynaklý ölüm oraný
delta = 0.1 # Aþýlanma oraný
# Baþlangýç koþullarýný tanýmla
S0 = 0.9 * 1000 # Duyarlý nüfus sayýsý
I0 = 0.1 * 1000 # Enfekte nüfus sayýsý
R0 = 0 * 1000 # Baðýþýk nüfus sayýsý
y0 = [S0, I0, R0] # Baþlangýç deðerleri vektörü
# Zaman aralýðýný tanýmla
t = np.linspace(0, 200, 1000) # 0-200 gün arasý 1000 nokta
# Sistem denklemlerini tanýmla
def model(y, t):
S, I, R = y # Duyarlý, Enfekte, Baðýþýk nüfuslarý ayýr
N = S + I + R # Toplam nüfusu hesapla
dSdt = nu * N - beta * S * I / N - mu * S - delta * S # Duyarlý nüfusun deðiþim hýzý
dIdt = beta * S * I / N - gamma * I - mu * I - alpha * I # Enfekte nüfusun deðiþim hýzý
dRdt = gamma * I - mu * R + delta * S # Baðýþýk nüfusun deðiþim hýzý
return [dSdt, dIdt, dRdt]
# Sistem denklemlerini çöz
y = odeint(model, y0, t)
# Sonuçlarý ayýr
S, I, R = y[:, 0], y[:, 1], y[:, 2]
N = S + I + R # Toplam nüfusu hesapla
# Sonuçlarý grafikle
plt.figure(figsize=(10, 8))
plt.plot(t, S, label="Duyarlý")
plt.plot(t, I, label="Enfekte")
plt.plot(t, R, label="Baðýþýk")
plt.plot(t, N, label="Toplam")
plt.xlabel("Zaman (gün)")
plt.ylabel("Nüfus sayýsý")
plt.title("Kýzamýk hastalýðýnýn tedavisi için bir model")
plt.legend()
plt.show()
#Yazan Rýdvan Kaya
Bu yazdýðým Python kodu, kýzamýk hastalýðýnýn tedavisi için bir matematiksel modeli çözmek ve sonuçlarý grafikle göstermek için kullanýlýyor. Kodun yapýsý þöyle:
- Ýlk olarak, gerekli kütüphaneleri içe aktarýyorum. Bu kütüphaneler, matematiksel iþlemler, grafik çizimi ve diferansiyel denklem çözümü için gerekli fonksiyonlarý saðlýyor.
- Sonra, parametreleri tanýmlýyorum. Bu parametreler, kýzamýk hastalýðýnýn yayýlmasý ve tedavisi ile ilgili bazý sabit deðerlerdir. Örneðin, beta, bulaþma katsayýsý; gamma, iyileþme oraný; delta, aþýlanma oraný gibi.
- Daha sonra, baþlangýç koþullarýný tanýmlýyorum. Bu koþullar, modelin baþladýðý zaman noktasýnda duyarlý, enfekte ve baðýþýk nüfus sayýlarýný belirliyor. Ayrýca, baþlangýç deðerleri vektörünü oluþturuyorum. Bu vektör, sistem denklemlerini çözmek için gerekli bir girdidir.
- Ardýndan, zaman aralýðýný tanýmlýyorum. Bu aralýk, modelin çalýþtýðý süreyi ve bu süre içinde kaç tane veri noktasý ürettiðini belirliyor. Örneðin, t = np.linspace(0, 200, 1000) komutu, modelin 0-200 gün arasýnda 1000 tane veri noktasý üretmesini saðlýyor.
- Sonra, sistem denklemlerini tanýmlýyorum. Bu denklemler, duyarlý, enfekte ve baðýþýk nüfuslarýn deðiþim hýzlarýný ifade ediyor. Bu denklemler, kýzamýk hastalýðýnýn yayýlmasý ve tedavisi ile ilgili parametreleri ve nüfus oranlarýný kullanýyor. Ayrýca, toplam nüfusu hesaplamak için N = S + I + R formülünü kullanýyorum. Bu, toplam nüfusun deðiþim hýzýný hesaplamak için gereksiz bir denklemi ortadan kaldýrýyor.
- Daha sonra, sistem denklemlerini çözüyorum. Bu iþlem için, odeint fonksiyonunu kullanýyorum. Bu fonksiyon, sistem denklemlerini, baþlangýç deðerleri vektörünü ve zaman aralýðýný alarak, duyarlý, enfekte ve baðýþýk nüfuslarýn zamanla nasýl deðiþtiðini hesaplýyor. Bu fonksiyonun çýktýsý, bir matrisdir. Bu matrisin her sütunu, bir nüfus grubunun deðerlerini içeriyor.
- Son olarak, sonuçlarý grafikle gösteriyorum. Bu iþlem için, matplotlib kütüphanesini kullanýyorum. Bu kütüphane, grafik çizimi için gerekli fonksiyonlarý saðlýyor. Örneðin, plt.plot fonksiyonu, bir eðri çizmek için kullanýlýyor. plt.xlabel, plt.ylabel ve plt.title fonksiyonlarý, grafikteki eksen isimleri ve baþlýk belirlemek için kullanýlýyor. plt.legend fonksiyonu, grafikteki eðrilerin etiketlerini göstermek için kullanýlýyor. plt.show fonksiyonu, grafikteki eðrilerin etiketlerini göstermek için kullanýlýyor. plt.show fonksiyonu, grafikteki eðrilerin etiketlerini göstermek için kullanýlýyor.
Bu kodun amacý, kýzamýk hastalýðýnýn tedavisi için bir modelin nasýl oluþturulabileceðini ve sonuçlarýnýn nasýl analiz edilebileceðini göstermektir. Bu model, gerçek hayattaki kýzamýk hastalýðýnýn dinamiklerini tam olarak yansýtmayabilir, ancak bazý temel özellikleri yakalayabilir. Bu model, parametrelerin veya baþlangýç koþullarýnýn deðiþtirilmesiyle farklý senaryolarý test etmek için de kullanýlabilir.
Bu kodu çalýþtýrmak için, Python programlama dilini destekleyen bir ortam kullanmanýz gerekiyor. Örneðin, Google Colab, Jupyter Notebook, Spyder, PyCharm gibi araçlar bu iþ için uygun olabilir. Bu araçlardan birini seçtikten sonra, aþaðýdaki adýmlarý izleyebilirsiniz:
- Kodu kopyalayýn ve aracýnýzýn kod editörüne yapýþtýrýn.
- Gerekli kütüphaneleri yükleyin. Bu kütüphaneler, numpy, matplotlib ve scipy’dir. Bu kütüphaneleri yüklemek için, aracýnýzýn terminaline veya komut satýrýna pip install numpy matplotlib scipy yazýn ve enter tuþuna basýn.
- Kodu çalýþtýrýn. Bu iþlem için, aracýnýzýn çalýþtýrma veya run butonuna týklayýn veya Ctrl + Enter tuþlarýna basýn.
- Grafik sonucunu görüntüleyin. Bu iþlem için, aracýnýzýn çýktý veya output bölümüne bakýn. Orada, kýzamýk hastalýðýnýn tedavisi için bir modelin grafiðini görebilirsiniz.
Bu adýmlarý takip ederek, bu kodu kolayca çalýþtýrabilirsiniz.
Sosyal Medyada Paylaşın:
(c) Bu şiirin her türlü telif hakkı şairin kendisine ve/veya temsilcilerine aittir.