정보통신기술(ICT)

무리 함수

해머슴 2024. 9. 10. 11:00
import tkinter as tk
from tkinter import messagebox
import numpy as np
import matplotlib.pyplot as plt
from math import sqrt

# 그래프를 그리는 함수
def plot_graph(a_value):
    try:
        # 입력값을 float로 변환
        a = float(a_value)

        # x 범위 설정 (a보다 크거나 같은 값만 설정)
        x = np.linspace(a, a + 100, 400)
        y = np.sqrt(x - a)

        # 그래프 그리기
        plt.figure()
        plt.plot(x, y, label=f"f(x) = sqrt(x - {a})")
        plt.title(f"무리 함수: f(x) = sqrt(x - {a})")
        plt.xlabel('x')
        plt.ylabel('f(x)')
        plt.legend()
        plt.grid(True)
        plt.show()
    except ValueError:
        messagebox.showerror("입력 오류", "a 값은 숫자로 입력해 주세요.")
    except Exception as e:
        messagebox.showerror("오류", str(e))

# GUI 설정
def create_gui():
    root = tk.Tk()
    root.title("무리 함수 그래프 그리기")

    # 설명 레이블
    label = tk.Label(root, text="무리 함수 f(x) = sqrt(x - a)의 a 값을 입력하세요:")
    label.pack(padx=20, pady=10)

    # 입력 필드
    entry = tk.Entry(root)
    entry.pack(padx=20, pady=10)

    # 그래프 그리기 버튼
    plot_button = tk.Button(root, text="그래프 그리기", command=lambda: plot_graph(entry.get()))
    plot_button.pack(pady=10)

    # 종료 버튼
    close_button = tk.Button(root, text="종료", command=root.quit)
    close_button.pack(pady=10)

    root.mainloop()

# GUI 실행
create_gui()

'정보통신기술(ICT)' 카테고리의 다른 글

합성 함수  (0) 2024.09.12
부분 함수  (0) 2024.09.11
탄센트 함수  (0) 2024.09.09
코사인 함수  (0) 2024.09.06
유리 함수  (0) 2024.09.05