반응형

전체 글 150

[Python] 예외처리

이번 포스팅에서는 파이썬에서의 예외처리에 대해 알아보겠습니다. 예외 처리란? 파이썬 프로그램을 실행하다가 만약 오류가 나온다면 그 프로그램은 오류를 고치기 전까진 사용할 수가 없습니다. 물론 다른 프로그램도 마찬가지이며, 이런 일은 일어나지 않도록 해야합니다. 그런데 만약 오류가 나는 경우에 예외 처리를 해놓는다면, 오류를 일으키는 원인을 배제하여 프로그램을 정상적으로 동작시킬 수 있습니다. 설명은 참 쉽죠? 예제를 통해 알아봅시다. 예외 처리 예제 아래와 같이 변수 a를 입력받아 56을 a로 나눈 결과값을 출력하는 함수가 있습니다. def apple(a): return 56 / a print(apple(2)) print(apple(7)) print(apple(0)) print(apple(8)) 각각 2..

[Python] 지역변수와 전역변수

이번 포스팅에서는 파이썬에서의 지역변수와 전역변수에 대해 다뤄보겠습니다. 지역변수와 전역변수 파이썬에서 모든 함수의 바깥에서 할당된 변수들은 전역 범위에 존재하여, 이 변수를 전역변수라고 합니다. 반면에 지역 범위에 존재하는 변수는 지역변수라고 합니다. 변수는 전역/지역변수로 구분되며, 지역이면서 전역변수일 수는 없습니다. 지역변수 사용 예시 아래와 같은 함수가 있습니다. def apple(): banana = 100 apple() print(banana) 위 함수를 실행하면 아래와 같은 에러가 발생하게 됩니다. banana라는 변수는 apple() 함수 내에 지역변수로 선언되었으므로, 전역 범위에 속하지 않아 에러가 발생하는 것입니다. 또한 특정 지역 범위 내에선 다른 지역 범위의 변수를 사용할 수 없..

[Python] 사용자 정의 함수(def)

이번 포스팅에서는 파이썬에서 사용자 정의 함수에 대해 알아보겠습니다. 사용자 정의 함수 - def 파이썬에서는 print(), len() 등과 같이 기본적으로 제공하는 함수도 있지만 유저가 직접 필요한 함수를 만들어 쓸 수도 있습니다. 아래와 같이 hello라는 이름의 함수를 정의해봅시다. def hello(): print("hello!") print("hello!!") hello() 첫번째 줄은 hello()라는 이름의 함수를 정의하는 문장이고, 그 아래의 코드는 함수의 본문입니다. 그리고 정의된 함수 아래에 hello()는 정의된 함수를 호출하는 문구입니다. 함수의 실행 결과는 아래와 같습니다. 매개변수를 사용한 def 함수 위에서는 매개변수를 사용하지 않고 함수를 호출하였지만, 함수 정의 시 매개변..

[열역학] 카르노 사이클(Carnot cycle)

이번 포스팅에서는 카르노 사이클(Carnot cycle)에 대해 다뤄보겠습니다. 카르노 사이클(Carnot cycle)이란? 카르노 사이클이란 2개의 가역등온변화와 2개의 가역단열변화로 구성된 열적 기관에서 최고 열효율을 갖는 사이클로써, 카르노가 주장했습니다. 하지만 현실에서 실현 가능한 열적 기관은 정적가열 - 단열팽창 또는 정압가열 - 단열팽창인데 반해 카르노 사이클은 등온팽창 - 단열팽창이므로 실현 불가능합니다. 하지만 최고 열효율대비 열적 기관의 열효율을 비교하기 위해 자주 인용되는 사이클입니다. 카르노 사이클의 열효율 카르노 사이클의 열효율($\eta _{c}$)은 아래와 같이 정의됩니다. $$\eta_{c} = \frac{W}{Q_{1}} = \frac{Q_{1}-Q_{2}}{Q_{1}} =..

공학/열역학 2021.05.27

[동역학] 운동량 보존의 법칙

이번 포스팅에서는 운동량 보존의 법칙에 대해 알아보겠습니다. 운동량 보존의 법칙 외부에서 힘이 작용하지 않는 한 두 물체가 서로 힘을 주고 받을 때에는 그 두 물체의 운동량의 합은 일정합니다. 이를 운동량 보존의 법칙이라 합니다. 충격량과 운동량의 관계를 통해 운동량 보존의 법칙을 설명하겠습니다. 두 물체에 작용하는 충격량과 운동량의 관계는 아래와 같습니다. $$Ft = m(V_{2}-V_{1})$$ 물체 1의 경우 $Ft = m_{1}(V_{1}'-V_{1}) \tag{1}$ 물체 2의 경우 $F't = m_{2}(V_{2}'-V_{2}) \tag{2}$ 식 (1)과 (2)를 더하면 $$(F+F')t = m_{1}(V_{1}'-V_{1})+m_{2}(V_{2}'-V_{2})$$ 여기서 충돌 시 작용하는..

공학/동역학 2021.05.26

[유체역학] 연속방정식(Continuity equation)

이번 포스팅에서는 연속방정식(Continuity equation)에 대해 이야기해보겠습니다. 연속방정식(Continuity equation) 유체의 흐름이 특정 위치에서 그 상태가 시간이 변함과 관계없이 연속적인 정상류의 경우에는 유체 밀도가 일정할 경우 모든 단면에서의 유량은 일정합니다. 만약 유체가 비압축성유체라면, 유체의 밀도와 비중량이 일정하므로 관 내 단면적 $A_{1}$을 통과하는 유량과 단면적 $A_{2}$를 통과하는 유량은 같을 것입니다. 이를 수식으로 나타낸 것이 연속방정식이며, 유체의 유속을 각각 $V_{1}$, $V_{2}$라 하면 다음과 같습니다. $Q = A_{1}V_{1} = A_{2}V_{2} = Constant$ 여기서 $Q$는 체적유량이며, 단위는 [$m^3/s$] 입니다.

공학/유체역학 2021.05.20

[선형대수학] 행렬식(Determinant)

이번 포스팅에서는 행렬의 determinant에 대해 다뤄보겠습니다. 행렬식(Determinant) 행렬식이란, 어느 정사각행렬 $A$에 스칼라를 대응시키는 함수를 말하며, 본 행렬을 이용해 선형변환을 했을 때 그 크기의 배수를 말합니다. 구하는 방법은 여러가지가 있습니다만, 중고등학교때 $2$ x $2$ 행렬에 대하여 각 원소가 $a, b, c, d$일 때, $Det(A) = ad-bc$ 위와 같이 구하는 방법을 배운 바 있습니다. 행렬의 크기가 작으면 간단히 끝날 일이지만, $3$ x $3$ 이상으로 커지게 되면 일이 복잡해지는데요. 이런 경우엔 어떻게 구할 수 있을까요? 행렬식(Determinant) 구하는 방법 행렬식의 계산을 일반화해서 나타내면 아래와 같이 나타낼 수 있습니다. $Det(A) =..

[선형대수학] 역행렬(Inverse matrix)

이번 포스팅에서는 역행렬에 대해 다뤄보겠습니다. 역행렬(Inverse matrix)이란? $n$ x $n$행렬 $A$에 대하여, 곱하여 단위행렬이 나오게하는 행렬을 행렬 $A$의 역행렬이라 하며, 식으로 나타내면 아래와 같습니다. $A$ x $B$ = $B$ x $A$ = $I$ 여기서 $B$가 행렬 $A$의 역행렬입니다. 역행렬(Inverse matrix)을 구하는 방법 1. 가우스 - 조단 소거법(Gauss-jordan elimination method) 가우스 - 조단 소거법은 1) 역행렬을 구하고자 하는 행렬 $A$을 왼쪽 2) 단위행렬 $I$를 오른쪽에 두고 3) 각 행의 실수곱을 통해 왼쪽 행렬을 단위행렬로 만들면 4) 오른쪽에 역행렬 $B$가 나타납니다. 예를 들어 아래 $2$ x $2$ 행..

[기계진동] 등가스프링 상수 구하기

이번 포스팅에서는 등가스프링 상수 구하는 법에 대해 알아봅시다. 등가스프링 상수 구하는 이유 진동에서 계의 고유진동수는 질량 $m$과 강성$k$에 의해 결정되는 것을 아래의 포스팅을 통해 이미 알아본 바 있습니다. [기계진동] 공진(Resonance)과 고유진동수(Natural frequency) 이번 포스팅에서는 공진(Resonance)과 고유진동수(Natural frequency)에 대해 알아봅시다. 공진(Resonance)이란? 공진이란, 특정 주파수에서 사물이 큰 진폭으로 진동하는 현상입니다. 그 특정 주파수를 study2give.tistory.com 강성을 알아야 계의 고유진동수를 계산할 수 있고, 계에는 강성 요소가 복잡하게 얽혀있을 수 있기 때문에 하나의 값인 등가스프링 상수($k$)을 구하..

공학/기계진동 2021.04.19

[수치해석] 사다리꼴 공식(trapezoidal rule)

이번 포스팅에서는 수치적분법 중 하나인 사다리꼴 공식에 대해 알아봅시다. 사다리꼴 공식 정의 사다리꼴 공식은 적분이 나타내는 넓이를 사다리꼴의 형태로 나누어 그 넓이의 합으로 적분값을 근사하는 방법입니다. 위 그림과 같이 임의의 함수 $f$에 대해 적분값을 붉은색 사다리꼴 넓이의 합으로 나타내죠. 그렇기 때문에 경우에 따라 오차가 매우 크게 나타날 수 있습니다. 정의는 아래와 같습니다. 적분 가능한 함수 $f$에 대하여 이에 대한 적분 $F$는 $F = \sum_{i=0}^{N-1} \frac{(t_{i+1}-t_i)(f(t_{i+1})+f(t_i))}{2} \tag{1}$ 이 때, N=1인 경우 식은 아래와 같습니다. $F = \frac{(t_1-t_0)(f(t_1)+f(t_0))}{2} \tag{2}..

공학/수치해석 2021.04.15
반응형