정보통신기술(ICT)

절대값 함수

해머슴 2024. 9. 19. 09:48
import tkinter as tk
from tkinter import messagebox
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

# 절대값 함수를 그래프로 그리기
def plot_absolute_value():
    try:
        # 입력값을 가져옴
        start = float(entry_start.get())
        end = float(entry_end.get())
       
        # 입력 범위에서 x 값을 생성하고 y = |x| 계산
        x = np.linspace(start, end, 400)
        y = np.abs(x)

        # 그래프 초기화
        fig, ax = plt.subplots()
        ax.plot(x, y)
        ax.set_title('y = |x|')
        ax.set_xlabel('x')
        ax.set_ylabel('y')

        # 이전에 그려진 그래프를 제거하고 새 그래프 표시
        for widget in graph_frame.winfo_children():
            widget.destroy()
        canvas = FigureCanvasTkAgg(fig, master=graph_frame)
        canvas.draw()
        canvas.get_tk_widget().pack()

    except ValueError:
        messagebox.showerror("입력 오류", "숫자를 입력해주세요.")

# GUI 설정
root = tk.Tk()
root.title("절대값 함수 그래프 그리기")

# 입력 필드 및 레이블
label_start = tk.Label(root, text="시작 값 (x):")
label_start.pack()

entry_start = tk.Entry(root)
entry_start.pack()

label_end = tk.Label(root, text="끝 값 (x):")
label_end.pack()

entry_end = tk.Entry(root)
entry_end.pack()

# 그래프 그리기 버튼
plot_button = tk.Button(root, text="그래프 그리기", command=plot_absolute_value)
plot_button.pack()

# 그래프가 표시될 프레임
graph_frame = tk.Frame(root)
graph_frame.pack()

# GUI 시작
root.mainloop()

 

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

다차원 방정식 함수  (0) 2024.09.23
역 함수  (0) 2024.09.20
역삼각 함수  (0) 2024.09.13
합성 함수  (0) 2024.09.12
부분 함수  (0) 2024.09.11