전체 글

수학/미적분학

미적분학 - 기울기벡터

안녕하세요. 지난 포스팅의 미적분학 - 방향미분에서는 함수 $f$가 주어졌을 때 점 $(x_{0}, y_{0})$에서 벡터 $\mathbf{u} = $로의 방향미분 $D_{\mathbf{u}} f(x, y)$를 구하는 방법에 대해서 알아보았습니다. 여기서 방향미분은 기존에 보았던 편미분 $f_{x}$와 $f_{y}$의 일반화된 미분임을 알게 되었습니다. 오늘은 이어서 기울기벡터(Gradient)에 대해서 알아보도록 하겠습니다. 정의1. 기울기벡터(Gradient) 함수 $f$가 $(x, y)$에 대한 이변수 함수일 때 함수 $f$의 기울기벡터는 $\nabla f(x, y) = $로 정의된다. 예제1. 함수 $f(x, y) = \sin(x) + e^{xy}$일 때 기울기벡터를 구하여라. 더보기 $$\beg..

수학/미적분학

미적분학 - 방향미분

안녕하세요. 지난 포스팅의 미적분학 - 다변수 함수의 연쇄법칙에서는 다변수 함수가 주어졌을 때 3가지 버전의 연쇄법칙에 대해서 알아보았습니다. 오늘은 방향미분(Directional Derivative)의 정의에 대해서 알아보도록 하겠습니다. 정의1. 방향미분(Directional Derivative) 함수 $f(x, y)$의 점 $(x_{0}, y_{0})$에서 벡터 $\mathbf{u} = $로의 방향미분은 극한이 존재한다면 아래와 같이 정의된다. $$D_{\mathbf{u}} = \lim_{h \rightarrow 0} \frac{f(x_{0} + ha, y_{0} + hb) - f(x_{0}, y_{0})}{h}$$ 설명 일단 방향미분을 설명하기 위해서 일반적으로 저희가 보았던 편미분의 식을 보도록..

수학/미적분학

미적분학 - 다변수 함수의 연쇄법칙

안녕하세요. 지난 포스팅의 미적분학 - 다변수 함수의 미분가능성에서는 다변수 함수의 편미분이 존재한다고 해서 미분이 가능하지 않다는 점과 미분가능성에 대한 명확한 정의 그리고 전미분(total derivative)에 대해서 알아보았습니다. 오늘은 다변수 함수의 연쇄법칙에 대해서 알아보도록 하겠습니다. 미적분학 - 연쇄법칙에서 보았던 단변수 함수의 연쇄법칙을 상기해보도록 하겠습니다. 두 함수 $y = f(x)$와 $x = g(t)$가 주어지고 두 함수 모두 미분가능하다고 할 때 $\frac{dy}{dt}$를 구해보겠습니다. $$\frac{dy}{dt} = \frac{dy}{dx} \frac{dx}{dt}$$ 위 수식을 잘 보시면 변수 $x$에 대한 미분 $dx$를 분모와 분자에 추가한 것을 볼 수 있습니다..

Programming/Coding Problem

BOJ 8958번 : OX퀴즈

안녕하세요. 지난 포스팅의 BOJ 1546번 : 평균에서는 파이썬의 리스트 자료형과 내장함수인 max() 함수와 sum() 함수를 이용해서 문제를 풀어보았습니다. 오늘은 리스트와 반복문을 활용해서 문자열을 분석하는 방법에 대해서 알아보도록 하겠습니다. 핵심 포인트 1차원 배열 : 리스트 자료형 문자열 내장 함수 : split() 함수와 count() 함수 제출 코드 T = int(input()) for _ in range(T) : quiz = input() score = 0 for s in quiz.split('X') : for i in range(1, s.count('O') + 1) : score += i print(score) 해설 문제의 입력은 첫번째 줄에 테스트케이스의 개수, 두번째 줄부터는 각 ..

Programming/Coding Problem

BOJ 1546번 : 평균

안녕하세요. 지난 포스팅의 BOJ 3052번 : 나머지에서는 반복문과 리스트 자료형을 이용해서 문제를 풀어보았습니다. 특히, 저희는 리스트 압축(list compression)이라는 개념을 통해 여러 줄의 숫자를 하나의 리스트에 저장하는 쉬운 방법을 배웠습니다. 오늘도 역시 리스트 자료형을 활용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 1차원 배열 : 리스트 자료형 파이썬 리스트 함수 : sum() 함수와 max() 함수 제출 코드 N = int(input()) grade = list(map(int, input().split())) max_grade = max(grade) print((sum(grade) / max_grade * 100) / N) 해설 문제의 입력은 첫번째 줄에는 점수의 개수, 두번..

수학/집합론

집합론 - 소개

안녕하세요. 오늘은 수학의 새로운 주제인 집합론(Set Theory)와 함께 시작해보도록 하겠습니다. 혹시 수학이 과학의 언어라는 말을 들어보셨나요? 특히, 물리학은 수학 없이는 존재하지 못할 정도로 수학의 영향력이 아주 강력합니다. 이와 비슷한 말로 집합론은 수학의 언어라는 말이 있을 정도로 현대 수학의 모든 곳에는 집합론의 기본 개념이 녹아있습니다. 특히, 위상수학(Topology)는 집합론 없이는 절대 이야기 할 수 없는 내용이죠. 이와 같이 집합론은 현대 수학에서 굉장히 중요한 부분을 차지하고 있기 때문에 본격적으로 수학 전공을 공부하기 위해서는 집합론은 필수입니다. 앞으로 다양한 수학 관련 포스팅을 게재할 예정입니다. 이를 위해서는 집합론을 빼놓고 이야기할 수 없었습니다. 그래서 오늘은 간단한 ..

수학/미적분학

미적분학 - 다변수 함수의 미분가능성

안녕하세요. 지난 포스팅의 미적분학 - 접평면과 선형근사에서는 일변수 함수의 선형근사의 개념을 다변수 함수로 확장하는 방법에 대해서 알아보았습니다. 오늘은 다변수 함수의 미분가능성에 대해서 알아보도록 하겠습니다. 정의1. 미분가능성(Differentiability) 함수 $z = f(x, y)$가 있다고 했을 때 $\Delta z = f_{x}(a, b)\Delta x + f_{y}(a, b)\Delta y + \epsilon_{1} \Delta x + \epsilon_{2} \Delta y$으로 표현된다면 함수 $f$는 점 $(a, b)$에서 미분가능하다. 설명 다변수 함수의 미분가능성에 대해서 설명하기 위해 간단한 예시를 들어보도록 하겠습니다. 일단, 함수 $z = f(x, y)$가 연속이라고 가정하..

Programming/Coding Problem

BOJ 3052번 : 나머지

안녕하세요. 지난 포스팅의 BOJ 2577번 : 숫자의 개수에서는 1차원 배열을 이용하여 문제를 해결해보았습니다. 이번에도 동일한 문제를 풀어보도록 하죠. 핵심 포인트 반복문 1차원 배열 : 리스트 자료형 제출 코드 numbers = [int(input()) for _ in range(10)] count = [0] * 42 for number in numbers : if count[number % 42] == 0 : count[number % 42] += 1 print(sum(count)) 해설 문제의 입력은 한 줄에 한 개씩 숫자를 입력받습니다. 따라서, 반복문을 이용해서 하나 씩 입력을 받은 뒤 이를 숫자 배열에 담아주면 되겠죠. 파이썬에서는 이러한 리스트를 만드는 데 더욱 짧은 코드를 만들 수 있게..

Johns Hohns
Everyday Image Processing