본문 바로가기

728x90

전체 글

(95)
PyQt GUI (13) Pyinstaller를 이용하여 PyQt5파이썬 코드를 exe윈도우 실행 파일로 만들기 지난 포스팅까지 2개의 어플리케이션을 만들었습니다. 계산기 : https://studyingrabbit.tistory.com/23?category=957111 PyQt GUI (5) 어플리케이션 만들기 (1) : 100줄만에 계산기 만들기 https://www.youtube.com/watch?v=tnzLtWSAdg0 이번 포스팅에서는 지난 포스팅까지 소개한 내용을 바탕으로 간단한 계산기를 만들어 보도록 하겠습니다. 제목과 같이 약 100줄 정도의 코드만에 계산기를 만드 studyingrabbit.tistory.com 기억력 게임 : https://studyingrabbit.tistory.com/31 PyQt GUI (12) 어플리케이션 만들기 (2) : 기억력 카드 게임 만들기 단순히 Layout이나 W..
유한요소법(Finite Element Method)으로 미분 방정식(헬름홀츠 방정식) 풀기 미분방정식은 응용수학, 물리학, 공학에서 가장 많이 나오는 수학적 문제입니다. 특히나 물리학과 공학에서는 미분 방정식이 거의 전부라고 해도 좋을 정도로 미분 방정식은 지배적인 문제입니다. 자연을 기술하는 거의 모든 방정식이 미분 방정식의 형태로 쓰여질 수 있기 때문에, 물리학과 공학에서 미분 방정식을 자주 볼 수 있습니다. 예를들면, 고전 역학을 기술하는 뉴턴의 운동 방정식, 전자기 현상을 기술하는 맥스웰 방정식, 열과 관련된 현상을 설명하는 열 방정식 등이 모두 미분 방정식의 형태로 주어집니다. 파동 방정식, 나비에-스토크스 방정식은 뉴턴의 운동 방정식으로 부터 유도된 방정식이기에 당연히 미분 방정식입니다. 따라서 자연 현상을 해석하고 예측하기 위해서는 상황에 맞는 미분 방정식을 선택하고, 경계 조건을..
2차원 헬름홀츠 방정식(Helmholtz equation) 풀기 : 고유 함수의 개형, 고유 진동수 및 고유 진동수의 분포 헬름홀츠 방정식 헬름홀츠 방정식은 $$( \nabla^2 + k^2 )f(\vec{r}) = 0$$ 인 편미분 방정식 입니다. 헬름홀츠 방정식은 주로 물리학의 응용에서 자주 나오곤 하는데요, 파동 방정식(wave equation) 혹은 열 방정식(heat equation)의 공간 변수가 만족해야 하는 편미분 방정식 입니다. 파동 방정식으로 부터 헬름흘츠 방정식이 나오는 과정을 유도할 때는 주로 변수분리법을 사용하는데요, 파동 방정식 $$\Big(\nabla^2 - \frac{1}{c^2} \frac{\partial ^2}{\partial t ^2}\Big) \psi(\vec{r}, t) = 0$$ 에서 해 $\psi(\vec{r}, t)$를 공간 변수의 함수와 시간 변수의 함수의 곱으로 쓴다면, $\ps..
메트로폴리스-헤이스팅스 알고리듬을 활용한 분포 생성 및 이를 이용한 몬테 카를로 적분 기각 샘플링 기반 몬테 카를로 적분이 부정확한 예시 지난 시간에 소개한 기각 샘플링 방법을 통해서 $$A = \int_{-\infty}^{\infty} x^2 \frac{1}{\sqrt{2 \pi}} e^{-\frac{x^2}{2}}dx$$ 을 해 보도록 하겠습니다. $f(x) =x^2 \frac{1}{\sqrt{2 \pi}} e^{-\frac{x^2}{2}}$라 할 때, $\frac{1}{\sqrt{2 \pi}} e^{-\frac{x^2}{2}}$ 는 우리가 잘 알고 있는 표준 정규 분포의 함수 이므로, 편의상 $N(x)$라고 표시한다면, $f(x) = x^2 N(x)$ 가 됩니다. 적분의 상한과 하한은 $\infty, -\infty$인데 무한대를 다루기는 어려우니 상한과 하한을 각각 20, -20 정..
파이썬을 이용한 몬테 카를로 적분(Monte Carlo Integration) 구현 이 포스팅에서는 지난 시간에 설명한 몬테 카를로 시뮬레이션 방법을 프로그램 언어 파이썬으로 구현해 보도록 하겠습니다. 적분은 몬테 카를로 시뮬레이션을 이용해서 할 수 있는 것의 가장 기본적인 어플리케이션입니다. 사실, 몬테 카를로 시뮬레이션은 "어려운 적분을 하기 위한 계산 방법론 이다" 라고 말해도 과언이 아닐 정도로 몬테 카를로 시뮬레이션의 적분에 대한 응용은 기본적이면서도 활용 범위가 넓습니다. 몬테 카를로 적분을 통한 계산 값이 정확하기 위해서는 몬테 카를로 시뮬레이션에서 하는 랜덤 샘플링의 횟수가 매우 커야 하는데요, 따라서 컴퓨터로 계산할 수 밖에 없습니다. 컴퓨터 프로그램 언어를 이용해서 원하는 알고리듬을 코딩 언어로 구현해야하는데, 프로그램 언어 중에서 배우기 쉽고, 활용 범위가 넓은 파이..
몬테 카를로 시뮬레이션(Monte Carlo Simulation) 의 이해 : 원주율값 구하기 (+파이썬 시뮬레이션 코드) 몬테카를로 시뮬레이션(혹은 알고리듬)이란 무엇인지를 정의하기란 매우 어려운데, 그 이유는 이 방법론을 수학과 응용수학 분야에서 매우 광범위하게 사용하기 때문입니다. (1 )이 시뮬레이션을 이용하여 계산 하려는 대상(값) (2) 이 시뮬레이션을 이용해야 하는 이유 (2) 이 시뮬레이션의 전체 혹은 일부를 이용하는 방법 등에 따라서, 몬테 카를로 시뮬레이션에 대한 정의는 조금씩 다를 텐데요, 그러나 이 방법론을 사용하는 모든 경우를 아우를 수 있는 핵심점인 키워드는 "반복적인 무작위적 샘플링" 입니다. 위키피디아의 몬테 카를로 시뮬레이션을 소개하는 첫 문장은 Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational ..
주식의 정량적 분석 (3) : 내가 그 주식을 꾸준히 샀더라면... - 미국 주요 주식의 5년간 수익률 주식 투자에서 가장 중요한 것 중 하나는 주가의 등락에 상관 없이 꾸준하게 주기적으로 매수를 하는 것인데요. 하루 하루의 등락에도 마음이 오락가락 하는 우리들에게는 매우 어려운 원칙 중 하나 입니다. 그러나, 원칙을 지키기만 한다면 "시간의 힘"은 우리를 부자로 만들어 줄 것 입니다. 이번 포스팅에서는 은행에서 적금을 넣는 것 처럼 주식을 주기적으로 꾸준히 샀다면 어느 정도의 수익률을 혹은 어느 정도의 연평균 이자를 받는 적금을 넣은 것과 같은 효과를 얻을 수 있었는가를 계산해 보도록 하겠습니다. 계산 조건 대상 기업 : 미국 주가 상위 19개 기업 애플AAPL, 마이크로소프트MSFT, 구글GOOG, 아마존AMZN, 페이스북FB, 테슬라TSLA, 버크셔해서웨이BRK, TSMCTSM, 비자V, 엔비디아NV..
PyQt GUI (12) 어플리케이션 만들기 (2) : 기억력 카드 게임 만들기 단순히 Layout이나 Widget의 사용법만을 익히면 좀 지루한 감이 있으니, 배운 내용을 바탕으로 의미있는 GUI 프로그램을 만들어 보는 시간을 갖도록 하겠습니다. 지난번에는 계산기 어플리케이션을 만들었는데, 이번 시간에는 기억력 카드 게임을 만들어 보겠습니다. 이 어플리케이션은 유투브 채널의 시청자님의 요청으로 만들게 되었습니다. 영상을 촬영하고 편집하는데는 시간이 좀 걸리니 우선, 바로 쓸 수 있는 블로그 포스팅 부터 하도록 하겠습니다. 우선, 최종적으로 만든 어플리케이션을 보여드리면서 기억력 카드 게임이 무엇인지, 그리고 프로그램을 어떻게 사용하는지를 설명드리겠습니다. 사용법은 아래와 같습니다. (0) 첫째줄에는 6개의 동물 이미지가 있습니다. 사용자가 사용할 이미지를 준비해 놓고 해당 파일의 ..

728x90