그래프 64

2D 라플라스 방정식을 풀기 위한 함수

import numpy as npimport matplotlib.pyplot as pltfrom tkinter import Tk, Label, Entry, Button, Toplevel, messageboxdef solve_laplace(nx=50, ny=50, top=100, bottom=0, left=0, right=0, tolerance=1e-4, max_iterations=10000):    # 격자 초기화    u = np.zeros((nx, ny))    # 경계 조건 설정    u[0, :] = top    # 위쪽 경계 조건    u[-1, :] = bottom # 아래쪽 경계 조건    u[:, 0] = left   # 왼쪽 경계 조건    u[:, -1] = right  # 오른쪽 경계..

전자기학: 파동 방정식(Sine/Cosine 형태의 파동)

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.widgets import Slider, TextBoximport matplotlib.animation as animation# 초기 파동 파라미터 설정A = 1.0        # 진폭wavelength = 2.0  # 파장frequency = 1.0   # 주파수phi = 0.0      # 초기 위상# 계산을 위한 파생 파라미터k = 2 * np.pi / wavelength  # 파수omega = 2 * np.pi * frequency  # 각주파수# 공간 및 시간 범위 설정x = np.linspace(0, 10, 1000)time = np.linspace(0, 10, 100)# 업데..

조화진동자의 시간 진화 함수 그래프

import tkinter as tkfrom tkinter import messagebox, ttkimport matplotlib.pyplot as plt# 데이터 리스트 초기화time = []input_values = []output_values = []# 데이터 추가 함수def add_data():    try:        t = float(entry_time.get())        input_val = float(entry_input.get())        output_val = float(entry_output.get())        # 데이터 추가        time.append(t)        input_values.append(input_val)        output_value..

조화진동자 함수 그래프

import tkinter as tkfrom matplotlib.backends.backend_tkagg import FigureCanvasTkAggimport matplotlib.pyplot as pltimport numpy as np# 함수 정의def plot_graph():    # 사용자 입력값 가져오기    frequency = float(entry_frequency.get())    amplitude = float(entry_amplitude.get())    phase_shift = float(entry_phase.get())    time_end = float(entry_time.get())    # 시간 배열 생성    t = np.linspace(0, time_end, 1000)    ..

양자역학 1차원 조화진동자의 파동함수(Hermite Polynomial)

import numpy as npimport matplotlib.pyplot as pltfrom scipy.special import hermitefrom math import factorial, pi# 물리 상수 정의m = 1.0    # 입자의 질량omega = 1.0 # 진동자의 각진동수hbar = 1.0  # 플랑크 상수# 파동함수 정의def psi_n(x, n):    # Hermite 다항식 계산    hermite_poly = hermite(n)        # 상수 부분 계산    normalization_factor = 1 / np.sqrt(2**n * factorial(n)) * (m * omega / (pi * hbar))**(1/4)        # 파동함수 계산    psi = n..

최대값과 최소값 함수

# 최대값과 최소값을 구하는 함수 정의def find_max_min(numbers):    # 초기값 설정: 리스트의 첫 번째 요소로 설정    max_value = numbers[0]    min_value = numbers[0]    # 리스트의 각 요소를 순회하면서 최대값과 최소값 갱신    for num in numbers[1:]:        if num > max_value:            max_value = num        if num min_value:            min_value = num        return max_value, min_value# 테스트용 숫자 리스트numbers = [12, 45, 23, 89, 78, 55, 33]# 최대값과 최소값 구하기m..

지수 함수

import tkinter as tkfrom tkinter import ttkimport matplotlib.pyplot as pltimport numpy as np# 그래프 그리는 함수def plot_exponential():    try:        # 입력값을 받아와서 float으로 변환        base = float(base_entry.get())        coefficient = float(coefficient_entry.get())        # x 값 범위 설정        x = np.linspace(-10, 10, 400)        # 지수 함수 y = coefficient * base^x        y = coefficient * base ** x        # 그래..

절대값 함수

import numpy as npimport matplotlib.pyplot as pltimport tkinter as tkfrom tkinter import simpledialog# 절대값 함수 그래프를 그리는 함수def plot_absolute_value(a, b, c):    x = np.linspace(-10, 10, 400)    y = a * np.abs(x - b) + c    plt.figure()    plt.plot(x, y, label=f"{a} * |x - {b}| + {c}")    plt.title(f"y = {a} * |x - {b}| + {c}")    plt.xlabel("x")    plt.ylabel("y")    plt.grid(True)    plt.legend() ..

역삼각 함수

import numpy as npimport matplotlib.pyplot as pltfrom tkinter import *from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg# 역삼각 함수 그래프 그리기 함수def plot_graph():    func_type = function_var.get()    start = float(entry_start.get())    end = float(entry_end.get())        x = np.linspace(start, end, 400)        if func_type == 'arcsin':        y = np.arcsin(np.clip(x, -1, 1))  # arcsin의 입력..