반응형

전체 글 150

[수치해석] Gaussian elimination(가우스 소거법)

이번 포스팅에서는 선형대수방정식의 해를 구하는 방법 중 하나인 Gaussian elimination(가우스 소거법)에 대해 알아보겠습니다. (출처: Chapra의 응용수치해석 3rd edition, Steven C. Chapra 저) Gaussian elimination(가우스 소거법)이란? 가우스 소거법은 전진소거법을 통해 미지수를 소거하고, 후진대입하는 알고리즘으로써 선형대수방정식을 푸는데에 가장 기본이 되는 방법입니다. Gaussian elimination 하는 방법 예를 들어 아래와 같이 3개의 미지수와 3개의 방정식이 있다고 하면 $$a_{11}x_{1}+a_{12}x_{2}+a_{13}x_{3}=b_{1}$$ $$a_{21}x_{1}+a_{22}x_{2}+a_{23}x_{3}=b_{2}$$ $..

공학/수치해석 2021.07.28

[수치해석] Cramer's rule (크래머 공식)

이번 포스팅에서는 선형대수방정식에서 각 해를 구할 때 유용한 방법인 Cramer's rule(크래머 공식)에 대해 알아봅시다. (출처: Chapra의 응용수치해석 3rd edition, Steven C. Chapra 저) Cramer's rule 이 방법은 연립 선형대수방정식에서 각 미지수를 행렬의 determinant와 각 계수, 상수항의 값으로 구성되는 식으로 표현하여 해를 구하는 방법입니다. 예를 들어 아래와 같은 미지수 3개, 식이 3개인 선형대수방정식이 있다고 가정하면 $$a_{11}x_{1}+a_{12}x_{2}+a_{13}x_{3}=b_{1}$$ $$a_{21}x_{1}+a_{22}x_{2}+a_{23}x_{3}=b_{2}$$ $$a_{31}x_{1}+a_{32}x_{2}+a_{33}x_{3..

공학/수치해석 2021.07.27

[공학일반] 평균 필터

이번 포스팅에서는 평균 필터에 대해 알아보겠습니다. 평균 필터 평균 필터는 평균을 구하는 공식을 활용한 필터입니다. 이미 잘 아시겠지만, 평균을 구하는 방법은 아래와 같습니다 $$ \bar{x}_{k} = \frac{x_{1}+x_{2}+...+x_{k}}{k} \tag{1}$$ 하지만 이대로는 필터에 써먹지 못합니다. 평균의 정의대로 계산하면 데이터가 1개 추가될 때 마다 모든 데이터를 다시 더해서 k+1로 나눠줘야하기 때문입니다. 따라서 우리는 재귀식의 형태로 표현할 필요가 있습니다. 재귀식은 이전 결과를 다시 사용하기 때문입니다. 평균 필터를 재귀식으로 나타내기 위에서 다뤘던 평균을 구하는 식을 재귀식의 형태로 나타내어 봅시다. 우선 재귀식의 형태로 나타내기 위해서는 좌변에 $\bar{x}_{k}$..

공학/일반 2021.07.01

[열역학] 이상기체의 상태변화

이번 포스팅에서는 이상기체에서의 상태변화에 대해 알아봅시다. 이상기체에서 정적비열($C_{v}$)과 정압비열($C_{p}$)의 관계 이상기체에서 정적비열과 정압비열의 관계는 아래와 같습니다. $$C_{p}-C_{v}=R$$ 여기서 $R$은 기체 상수입니다. 그리고 비열비 $k=\frac{C_{p}}{C_{v}}$ 이므로 $C_{p}=kC_{v}$이고, $kC_{v}-C_{v}=R$입니다. 따라서 정적비열과 정압비열을 각각 기체상수와 비열비로 나타내면 $$C_{v}=\frac{R}{k-1}$$ $$C_{p}=\frac{kR}{k-1}$$ 이 됩니다. 정적변화(Isochoric change) $p, v, T$ 관계 정적변화에서는 부피 $v=C$입니다. 즉, $dv=0$ 입니다. 그러면 이상기체 상태방정식 $..

공학/열역학 2021.06.16

[Python] 파일 경로 설정

이번 포스팅에서는 파일 경로 설정에 대해 알아보겠습니다. 경로 설정 파일을 읽고 쓰려면 우선 원하는 경로를 지정할 수 있어야 합니다. 그런데 윈도우, Mac os, 리눅스 등 각 운영체제에서는 경로를 지정할 때 구분하는 기호를 쓰는데 윈도우에선 백슬래시(\)를 사용하지만, Mac os에서는 슬래시(/)를 사용합니다. 따라서 경로를 지정하려면 운영체제에 따라 다르게 처리해주어야 합니다. 이럴 때에 유용하게 쓸 수 있는 함수가 있는데요. 바로 os.path.join() 함수입니다. 함수 안에 경로의 개별 폴더 이름을 지정하면 해당 경로를 각 운영체제에 맞는 구분 기호를 사용하여 생성해줍니다. import os print(os.path.join('user','Desktop','Python')) 저는 맥북을 사..

[Python] 문자열 메소드

문자열을 사용할 때 쓸만한 메소드를 소개할까 합니다. 문자열 메소드 upper(), lower() 이 메소드들은 각각 알파벳을 대/소문자로 변환하는 메소드입니다. upper()는 대문자로, lower()는 소문자로 변환하여 반환해줍니다. 예를 들면 A = 'Hello, I am minsoo.' B = A.upper() C = A.lower() print(B) print(C) 출력 결과를 보시면 모두 대문자 혹은 소문자로 변환된 것을 확인할 수 있습니다. 이 메소드는 알파벳이 아닌 문자엔 사용할 수 없습니다. startswith(), endswith() 각 메소드는 문자열 값이 각각 메소드에 전달된 문자열로 시작되거나 끝나면 True, 아니면 False를 반환하는 메소드입니다. A = 'Hello, I a..

[Python] 문자열 입력 방법

다양한 문자열 입력 방법에 대해 알아봅시다. 따옴표 - 홑따옴표, 겹따옴표, 세겹따옴표 파이썬에서 문자열을 입력할 때엔 홑따옴표 안에 입력합니다. 'Hello, world.'와 같은 형식으로 말이죠. 하지만 문자열 안에 홑따옴표를 사용해야할 경우엔 어떨까요? A = 'Hello, I'm minsoo.' 이 경우 아래와 같은 에러가 발생합니다. I 다음 홑따옴표로 인해 문자열이 끝난 것으로 간주하여 m minsoo.'는 잘못된 코드로 받아들이기 때문이죠. 이 경우 겹따옴표를 사용하면 해결됩니다. A = "Hello, I'm minsoo." print(A) 그러면 홑따옴표로 이루어진 문자열 안에선 홑따옴표를 쓸 수 없을까요? 역슬래시로 이루어진 이스케이프 문자를 쓰면 가능합니다! A = 'Hello, I\'..

[Python] 데이터 유형: 사전(Dictionary)

이번 포스팅에서는 사전(Dictionary) 데이터 유형에 대해 알아봅시다. 사전(Dictionary) 사전은 리스트와 마찬가지로 많은 값의 모음입니다. 하지만 리스트에서 인덱스를 정수밖에 사용하지 못했던 것과는 달리 사전 데이터에서는 인덱스를 다양한 데이터 유형을 사용할 수 있습니다. 그 인덱스를 key라고 하며, key와 연관된 value의 쌍을 key-value pair라고 합니다. 사전 데이터는 중괄호 {}로 정의합니다. myDog = {'old': '4', 'color': 'white', 'size': 'fat'} 여기서 key는 'old', 'color', 'size'이고, value는 각각 '4', 'white', 'fat' 입니다. 만약 key를 통해 value를 호출하고 싶다면 myDog..

[Python] 리스트(list) 활용 - for문, 다양한 메소드

이번 포스팅에서는 리스트의 다양한 활용법에 대해 알아봅시다. 리스트가 무엇인지는 지난 포스팅에서 알아보았으니, 궁금하시다면 아래를 참고하시기 바랍니다. [Python] 데이터 유형: 리스트(list) 이번 포스팅에서는 데이터 유형 중 하나인 리스트(list)에 대해 알아보겠습니다. 리스트(list) 리스트는 순서를 가진 여러 값의 배열로써, 대괄호로 구분됩니다. 첫번째 줄처럼 정수형 자료를 담 study2give.tistory.com 리스트의 다양한 활용법 for 루프문 for 루프에서는 리스트 또는 리스트와 같은 값 안에 있는 각각의 값에 대해 코드를 반복할 수 있습니다. 예를 들면 for i in range(0,5): print(i) 위의 코드를 실행했을 때 결과는 아래와 같습니다. range(0,5..

[Python] 데이터 유형: 리스트(list)

이번 포스팅에서는 데이터 유형 중 하나인 리스트(list)에 대해 알아보겠습니다. 리스트(list) 리스트는 순서를 가진 여러 값의 배열로써, 대괄호로 구분됩니다. 첫번째 줄처럼 정수형 자료를 담고 있을 수도 있고, 두번째 줄처럼 문자열 자료를 담고 있을 수도 있습니다. 특이하게도 여러 종류의 자료를 함께 담고 있을 수도 있습니다. 리스트 인덱싱(list indexing)하기 A라는 변수에 ['apple' , 'banana' , 'peach'] 리스트가 저장되어 있다고 해봅시다. 파이썬에서는 list 이름 다음 대괄호에 들어 있는 정수를 인덱스라고 하며, 첫번째 값을 0으로 하여 1씩 증가시켜 값을 매깁니다. 즉, 리스트 A는 아래와 같이 이루어져 있으며 A[0]의 값은 아래와 같죠. 인덱스엔 음수값도 ..

반응형