Deponentlanadigan materiallarning titul varag‘i
EHM uchun dastur (Ma’lumotlar bazasi) nomi:
“Koshi masalasini Eyler va Runge_Kutta usulida yechish”.
Huquq ega(lar)si :
Abdujalilov Sodiqjon Muxammadamin o’g’li
Muallif(lar):
Abdujalilov Sodiqjon Muxammadamin o’g’li
Olimov Murodulla
Ismoilov Shohimardon Muhammadjonovich
XAKIMOV SHAUKAT KUDAYBERGANOVICH
INTELEKTUAL TRANSPORT VOSITALARINING TEXNOLOGIYALARI
INTELLEKTUAL TRANSPORT VOSITALARINING TEXNOLOGIYALARI
RAJAPOVA SAYYORA SOTIVOLDIYEVNA
SOHADA AXBOROT TEXNOLOGIYALARI
EHM uchun dasturni identifikatsiya qiluvchi materiallar dastlabki matni (Dastur kodi)
Dastur yaratilgan sana: 27 avgust 2021 y.
Mazkur dastur Koshi masalasini Eyler va Runge-Kutta usullari yordamida yechish maqsadida yaratilgan, Chegaraviy masalalarni yechishda ya’ni koshi masalasini usullar yordamida yechish undagi farqlarni aniqlash va taqqoslash mumkin bo’ladi, olingan natijalarni grafik ko’rinishda ham olishimiz mumkin bo’ladi.
Bu dastur labaratoriya mashg’ulotlari uchun mo’ljallangan, talabalar dars paytida o’zlariga berilgan topshiriqlarini kiritib natija olishlari mumkin bo’ladi.
Dasturiy majmuaning funksional xususiyatlari:
- qulay interfeys;
- aniq natijani olish;
- bir vaqtni o’zida ikki xil usullarni taqqoslash mumkin;
- Aniqlangan natijalarni saqlash imkoniyatiga ega;
- Kiritilgan funksiyani grafik ko’rinishini ko’rish mumkin.
Dasturdan barcha foydalanuvchilar foydalanishlari mumkin.
Dasturiy majmua Phyton dasturlash tillarida yozilgan. tkinter va tkinter.ttk, matplotlib.pyplot as plt kutubxona tizimlaridan foydalanilgan. Ma’lumotlar bazasi MySQLda yaratilgan.
Talab qilingan operatsion tizim – Windows XP va undan yuqori.
Texnik talab – o‘rtacha konfiguratsiyadagi kompyuter Pentium IV.
Dasturiy majmua hajmi – 5 427,2 KB
Runge_Kutta'>Dasturning oyna ko’rinishi
Koshi masalasini yechish uchun Eyler va Runge Kutta usullaridan foydalanib natijalarni olishimiz mumkin bo’ladi.
Bosh oyna ko’rinishi quyidagicha
Chegaraviy masala ya’ni Koshi masalasin yechish uchun biz, berilgan funksiya va boshlang’ich shart, oraliq qiymatlarni kiritamiz, hisoblash tugmasini bosilganda natijani xisoblab grafik, (x,y) qiymatlarini chop etib beradi.
Berilgan funksiyani Runge_Kutta usuli yordamida olingan natija ko’rinishi
Berilgan funksiyani Eyler usuli yordamida olingan natija ko’rinishi
Berilgan funksiyani Eyler va Runge_Kutta usullarini bir biridan farqlanishi quyidagi oynada ko’rishimiz mumkin bo’ladi.
Dasturning kod qismi (Phyton)
from tkinter import *
from tkinter.ttk import *
import matplotlib.pyplot as plt
def f_r(x,y):
f1 = entry1_str.get()
# r = 2.7*x*x*y+3.8*x+y
r = eval(f1)
return r
root = Tk()
root.title("Koshi masalasi")
root.geometry("800x600")
def check_radio():
print(radio1_int.get())
def draw():
global listx_e, listy_e, listx_r, listy_r
canvas1 = Canvas(root, width=550, height=320, background='yellow')
# for i in range(len(listx)-2, 1, -1):
# x1 = listx[i+1] + 225
# y1 = listy[i+1] + 160
# x2 = listx[i] + 225
# y2 = listy[i] + 160
# print(x, y)
# canvas1.create_oval(x, y, x+1, y+1, fill='black')
# canvas1.create_line(x1,y1,x2,y2)
plt.plot(listx_e, listy_e, marker='o', label="Eyler")
plt.plot(listx_r, listy_r, marker='o', label="Runge Kutta")
plt.grid(color = 'green', linestyle = '--', linewidth = 0.5)
leg = plt.legend(loc='upper right')
plt.xlabel("Qadamlari soni")
plt.ylabel("Funksiya natijasi")
plt.show()
canvas1.place(x=10, y=100)
def hisoblash():
global listx_e, listy_e, listx_r, listy_r
r = radio1_int.get()
x0 = float(entry2_str.get())
a = float(entry3_str.get())
b = float(entry4_str.get())
h = float(entry5_str.get())
x = a
y = 0
k = -1
Dostları ilə paylaş: |