import numpy as np
import matplotlib.pyplot as plt
from tkinter import *
from tkinter import ttk
# 단위 계단 함수 정의
def unit_step(x):
return np.where(x >= 0, 1, 0)
# 그래프를 그리는 함수
def plot_graph():
# 입력 범위를 가져옴
x_min = float(entry_x_min.get())
x_max = float(entry_x_max.get())
# 입력 범위에 따른 x 값을 생성
x = np.linspace(x_min, x_max, 500)
y = unit_step(x)
# 그래프 그리기
plt.figure(figsize=(6,4))
plt.plot(x, y, label="Unit Step Function")
plt.title("Unit Step Function")
plt.xlabel("x")
plt.ylabel("u(x)")
plt.grid(True)
plt.axhline(0, color='black',linewidth=1)
plt.axvline(0, color='black',linewidth=1)
plt.legend()
plt.show()
# Tkinter GUI 생성
root = Tk()
root.title("Unit Step Function Plotter")
# 입력값을 위한 레이블 및 엔트리 위젯
label_x_min = Label(root, text="x 최소값:")
label_x_min.grid(row=0, column=0, padx=10, pady=10)
entry_x_min = Entry(root)
entry_x_min.grid(row=0, column=1, padx=10, pady=10)
label_x_max = Label(root, text="x 최대값:")
label_x_max.grid(row=1, column=0, padx=10, pady=10)
entry_x_max = Entry(root)
entry_x_max.grid(row=1, column=1, padx=10, pady=10)
# 그래프 그리기 버튼
plot_button = Button(root, text="그래프 그리기", command=plot_graph)
plot_button.grid(row=2, columnspan=2, padx=10, pady=10)
# Tkinter 루프 실행
root.mainloop()
ㅇ
'정보통신기술(ICT)' 카테고리의 다른 글
부산의 연간 강수량 예측(1904년 ~ 2023년) (1) | 2024.10.01 |
---|---|
날씨 소프트웨어 코딩 (1) | 2024.09.30 |
가우시안 델타 함수 (0) | 2024.09.26 |
다항 함수 (0) | 2024.09.25 |
부등식 함수 (0) | 2024.09.24 |