December 21, 2024

Ixtiyoriy integral tenglamani hisoblash va grafigini quruvchi dastur

Integral tenglamani hisoblash va grafigini quruvchi dastur Python'da ishlab chiqilishi mumkin. Quyida foydalanuvchidan matematik funksiyani qabul qiluvchi, uni belgilangan chegaralar bo'yicha integrallab, natijasini grafikda aks ettiruvchi dastur keltirilgan.


Kod: Integralni hisoblash va grafigini qurish

Python

import numpy as np

import sympy as sp

import matplotlib.pyplot as plt

import tkinter as tk

from tkinter import ttk

from tkinter import messagebox

# Integralni hisoblash funksiyasi

def calculate_integral(expression, x_var, lower_limit, upper_limit):

try:

x = sp.Symbol(x_var)

func = sp.sympify(expression)

integral = sp.integrate(func, (x, lower_limit, upper_limit))

return integral

except Exception as e:

return str(e)

# Grafikni chizish funksiyasi

def plot_function(expression, x_var, lower_limit, upper_limit):

try:

x_vals = np.linspace(lower_limit, upper_limit, 500)

x = sp.Symbol(x_var)

func = sp.lambdify(x, sp.sympify(expression), "numpy")

y_vals = func(x_vals)

plt.figure(figsize=(8, 6))

plt.plot(x_vals, y_vals, label=f"f(x) = {expression}")

plt.fill_between(x_vals, y_vals, alpha=0.2, color="orange", label="Integrallangan maydon")

plt.axhline(0, color="black", linewidth=0.8)

plt.axvline(0, color="black", linewidth=0.8)

plt.title("Funktsiyaning grafigi va integral maydoni")

plt.xlabel("x")

plt.ylabel("f(x)")

plt.legend()

plt.grid(True)

plt.show()

except Exception as e:

messagebox.showerror("Xato", f"Grafikni chizishda xatolik: {str(e)}")

# Tkinter interfeys

class IntegralApp:

def __init__(self, root):

self.root = root

self.root.title("Integralni Hisoblash va Grafikni Qurish")

self.root.geometry("500x400")

# Funktsiyani kiritish

self.func_label = ttk.Label(root, text="f(x) funksiyasi:")

self.func_label.pack(pady=5)

self.func_entry = ttk.Entry(root, width=40)

self.func_entry.pack(pady=5)

# O'zgaruvchi kiritish

self.var_label = ttk.Label(root, text="O'zgaruvchi:")

self.var_label.pack(pady=5)

self.var_entry = ttk.Entry(root, width=10)

self.var_entry.insert(0, "x")

self.var_entry.pack(pady=5)

# Chegaralarni kiritish

self.lower_label = ttk.Label(root, text="Quyi chegara:")

self.lower_label.pack(pady=5)

self.lower_entry = ttk.Entry(root, width=10)

self.lower_entry.insert(0, "0")

self.lower_entry.pack(pady=5)

self.upper_label = ttk.Label(root, text="Yuqori chegara:")

self.upper_label.pack(pady=5)

self.upper_entry = ttk.Entry(root, width=10)

self.upper_entry.insert(0, "1")

self.upper_entry.pack(pady=5)

# Tugmalar

self.calculate_button = ttk.Button(root, text="Integralni hisoblash", command=self.calculate)

self.calculate_button.pack(pady=10)

self.plot_button = ttk.Button(root, text="Grafikni chizish", command=self.plot)

self.plot_button.pack(pady=10)

# Natija

self.result_label = ttk.Label(root, text="Natija: ", font=("Arial", 12))

self.result_label.pack(pady=10)

def calculate(self):

func = self.func_entry.get()

var = self.var_entry.get()

try:

lower = float(self.lower_entry.get())

upper = float(self.upper_entry.get())

result = calculate_integral(func, var, lower, upper)

self.result_label.config(text=f"Natija: {result}")

except Exception as e:

messagebox.showerror("Xato", f"Hisoblashda xatolik: {str(e)}")

def plot(self):

func = self.func_entry.get()

var = self.var_entry.get()

try:

lower = float(self.lower_entry.get())

upper = float(self.upper_entry.get())

plot_function(func, var, lower, upper)

except Exception as e:

messagebox.showerror("Xato", f"Grafikni chizishda xatolik: {str(e)}")

# Tkinter oynasini ishga tushirish

if __name__ == "__main__":

root = tk.Tk()

app = IntegralApp(root)

root.mainloop()


Funktsional imkoniyatlari

1.    Integralni hisoblash:

o   Foydalanuvchi funksiyani matn sifatida kiritadi (masalan, x**2 + 2*x).

o   Quyi va yuqori chegaralarni kiritadi (masalan, 0 va 1).

o   Dastur ushbu ma’lumotlarga asoslanib integralni hisoblaydi va natijani ko‘rsatadi.

2.    Grafikni qurish:

o   Kiritilgan funksiyani berilgan chegaralar bo‘yicha grafikda chizadi.

o   Integrallangan maydonni soyali hudud sifatida aks ettiradi.

3.    Foydalanuvchi interfeysi: Tkinter yordamida grafik interfeys foydalanuvchiga qulay shaklda taqdim etiladi.


Ko‘rsatmalar

1.    Kodni Python muhiti yoki IDEda ishga tushiring.

2.    Foydalanuvchi interfeysida quyidagilarni kiriting:

o   Funksiyani (masalan, x**2 + 3*x + 1).

o   O‘zgaruvchi (masalan, x).

o   Integral chegaralari (masalan, 0 va 2).

3.    Integralni hisoblash tugmasini bosib, natijani ko‘ring.

4.    Grafikni chizish tugmasini bosib, funksiyaning grafigini ko‘ring.


Dastur uchun talablar

Python paketlarini o‘rnatish:

pip install sympy matplotlib

Bu dastur matematik ta'limda integral va funksiyalarni tushunishni osonlashtirish uchun mo‘ljallangan.