정보통신기술(ICT)

단위 계단 함수

해머슴 2024. 9. 27. 09:43
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